Thanks to all, for bearing with me.
Now I realize expss may not be what I need. I have now written a
self-runnable, replicable set of codes (listed below). Perhaps that
gives an idea of what I need. Question is, whethet this is the right way
to do this (to have a clickable object to learn about variable
definitions) or whether there are better ways. Thanks!
Steven
rm(list=ls())
n<-6
mydata<-data.frame(id=1:n,
?????????????????? age=floor(rnorm(n,25,10)),
?????????????????? yrmarry=floor(rnorm(n,5,2)))
var.labels<-c(id? = "Individual ID",
????????????? age = "Age in Years",
????????????? yrmarry = "Years of marriage")
definitions<-as.data.frame(var.labels) # declare definitions as a data frame
save.image("c:/temp/a/try1.RData")???? # save binary .RData file
rm(list=ls())????????????????????????? # clean environment
load("c:/temp/a/try1.RData") # now load .RData file and definitions
are
clickable
???????????????????????????? # all I need is for user to be able to click
???????????????????????????? # and read the variable definitions
On 2021/5/14 ?? 05:15, Jim Lemon wrote:> Hi Steven,
> I just happened to scan Petr's message to you and wondered if you were
> looking for something related to the "describe" function in the
> prettyR package (and a few others). For instance, if you do this:
>
> library(prettyR)
> describe(mtcars)
>
> you get this:
>
> Description of mtcars
>
> Numeric
> mean median var sd valid.n
> mpg 20.09 19.20 36.32 6.03 32
> cyl 6.19 6.00 3.19 1.79 32
> disp 230.72 196.30 15360.80 123.94 32
> hp 146.69 123.00 4700.87 68.56 32
> drat 3.60 3.70 0.29 0.53 32
> wt 3.22 3.33 0.96 0.98 32
> qsec 17.85 17.71 3.19 1.79 32
> vs 0.44 0.00 0.25 0.50 32
> am 0.41 0.00 0.25 0.50 32
> gear 3.69 4.00 0.54 0.74 32
> carb 2.81 2.00 2.61 1.62 32
>
> However, you can call almost any summary function as an argument to
> describe. Suppose I wrote a function "fackey" that produced this
> output on a factor variable "city":
>
> fackey(city)
>
> label numeric count
> New York 10 30
> London 15 23
> Paris 16 22
> Rome 20 25
>
> So if you ran "describe" on your data frame, you would get a list
of
> summary data frames that could be saved with the data frame in an
> .Rdata file. Is this what you are looking for?
>
> Jim
>
> On Fri, May 14, 2021 at 4:59 PM PIKAL Petr <petr.pikal at
precheza.cz> wrote:
>> Hallo Steven
>>
>> You probably need to be more specific what is your intention. I still
wonder what is the real problem you want to solve.
>>
>> You loaded binary file and it resulted to 2 data frames. So far so
good. But now I am lost.
>>
>> You want to merge info from data frame "desc" to data frame
"data"? You can use attr.
>> You want to make binary file which behaves like the one you get? Use
save/load.
>> You want to do something different? So please explain what exactly.
>>
>> Cheers
>> Petr
>>
>>
>>> -----Original Message-----
>>> From: Steven Yen <styen at ntu.edu.tw>
>>> Sent: Thursday, May 13, 2021 5:53 PM
>>> To: PIKAL Petr <petr.pikal at precheza.cz>
>>> Subject: Re: [R] Variable labels
>>>
>>> Petr
>>>
>>> Those attachments (1.jpg, 2.jpg) I sent earlier were just screen
captures
>>> (with a third-party program) of what I saw in the Environment pane
right
>>> after loading the data. Sorry I cannot explain my questions well
enough.
>>>
>>> All I was showing you was, right after loading the binary data
file, I saw two
>>> data frames---data which contain the data, and desc which contains
>>> definitions of all variables (as shown in 2.jpg). This is a data
file from the
>>> publisher and I wanted to know what it takes to create a binary
data files
>>> along with definitions of variables, both in the environment.
>>>
>>> Steven
>>>
>>> On 2021/5/13 ?? 09:51, PIKAL Petr wrote:
>>>> Hi Steven
>>>>
>>>> I probably do not understand your question correctly. In 1 you
show two
>>> objects "data" 14x42 data frame and "desc"
which is 2x14 data frame, both
>>> residing in global environment.
>>>> In 2 you show contents of data frame desc where variable are
probably
>>> variable names which are also in data object.
>>>> names(data)
>>>>
>>>> and label which is some more elaborate description of the
variable.
>>>>
>>>> If you want to move this label into your data object you
probably
>>>> could use attr
>>>>
>>>> attr(data, "label") <- desc$label
>>>>
>>>> If the order of "variable" is same as the order of
data columns.
>>>>
>>>> I do not understand what do you mean by - how to get that
"desc" in
>>>> there in the environment? It is already part of global
environment. You
>>> want to create some new environment and move you desc there?
>>>> Beside, your images are not familiar to me, this is plain R or
some kind of
>>> special GUI like R studio?
>>>> Cheers
>>>> Petr
>>>>
>>>>> -----Original Message-----
>>>>> From: Steven Yen <styen at ntu.edu.tw>
>>>>> Sent: Thursday, May 13, 2021 1:37 PM
>>>>> To: PIKAL Petr <petr.pikal at precheza.cz>
>>>>> Subject: Re: [R] Variable labels
>>>>>
>>>>> Petr
>>>>>
>>>>> Thanks. I am sending this to you privately as I am sending
attachment.
>>>>>
>>>>> 1. I load the binary file and see the data frame and what
appears to
>>>>> be description (desc) alongside it (1.jpg).
>>>>>
>>>>> 2. Expanding "desc", I get to read the
documentation (contents of desc).
>>>>> (2.jpg).
>>>>>
>>>>> #2 is all I need. I do not need to do anything fancy with
the
>>>>> variable label. I just like my students to have a simple
ways of
>>>>> learning the variables is the data file I provide to them.
>>>>>
>>>>> Again, my main question is, how to get that
"desc" in there in the
>>>>> environment. Thanks.
>>>>>
>>>>> Steven
>>>>>
>>>>> On 2021/5/13 ?? 06:31, PIKAL Petr wrote:
>>>>>> Hi.
>>>>>>
>>>>>> Maybe you could use attributes.
>>>>>>
>>>>>> dput(vec.m)
>>>>>> structure(list(Group.1 = c(2003, 2021, 2003, 2021,
2003, 2021, 2003,
>>>>>> 2021, 2003, 2021, 2003, 2021, 2003, 2021, 2003, 2021,
2003, 2021),
>>>>>> variable = structure(c(1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L,
5L, 5L, 6L,
>>>>>> 6L, 7L, 7L, 8L, 8L, 9L, 9L), .Label = c("s6",
"s5", "s4", "s3",
>>>>>> "s2", "s1.5", "s.7",
"s.5", "pod"), class = "factor"),
>>>>>> value = c(3.29, 0.525, 5.01, 1.385, 16.38, 7.67,
5.535, 3.28,
>>>>>> 25.49, 24.41, 10.285, 12.79, 8.905, 12.92, 1.68,
3.67, 2.595,
>>>>>> 5.06)), row.names = c(NA, -18L), class =
"data.frame")
>>>>>>
>>>>>>> attr(vec.m, "some.kind.of.value") <-
c("some specialvector",
>>>>>>> "another special vector", "just
ordinary vector")
>>>>>> You can access them by attributes or attr.
>>>>>>
>>>>>> attributes(vec.m)
>>>>>> $row.names
>>>>>> [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17 18
>>>>>>
>>>>>> $names
>>>>>> [1] "Group.1" "variable"
"value"
>>>>>>
>>>>>> $class
>>>>>> [1] "data.frame"
>>>>>>
>>>>>> $some.kind.of.value
>>>>>> [1] "some specialvector" "another
special vector" "just ordinary
>>> vector"
>>>>>>> attr(vec.m, "some")
>>>>>> [1] "some specialvector" "another
special vector" "just ordinary
>>> vector"
>>>>>> Cheers
>>>>>> Petr
>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: R-help <r-help-bounces at
r-project.org> On Behalf Of Steven
>>> Yen
>>>>>>> Sent: Thursday, May 13, 2021 10:07 AM
>>>>>>> To: Fredrik Karlsson <dargosch at gmail.com>
>>>>>>> Cc: R-help Mailing List <r-help at
r-project.org>
>>>>>>> Subject: Re: [R] Variable labels
>>>>>>>
>>>>>>> Thanks. What I need ?appears? simple. The .RData
file is provided
>>>>>>> by a third party (likely converted from a different
data format
>>>>>>> such as SAS in which variable labels (not value
labels) are
>>>>>>> common). When I load the binary file, in the
?environment? I see,
>>>>>>> as expected, a data frame showing how many
observations for how
>>>>>>> many variables. In addition, there is also an item
(in the
>>>>>>> environment) (say ?desc?) containing a list of
variable labels
>>>>>>> (definitions). I simply like to know how to get
?desc? in the
>>>>>>> environment?-it is a convenient way to show
definitions of all
>>>>>>> variables when you send a binary data file to a
third party. Thank you.
>>>>>>>
>>>>>>>> On May 13, 2021, at 2:57 PM, Fredrik Karlsson
<dargosch at gmail.com>
>>>>>>> wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I am sorry but I don't understand your
question, Generally,
>>>>>>>> "clicking" is not
>>>>>>> something you can assume to be implemented for
anything in R.
>>>>>>>> However, if you read the manual for the package
>>>>>>>>
>>>>>>>> https://gdemin.github.io/expss/
>>>>>>>>
>>>>>>>> you get an example at the bottom where an
illustration of how the
>>>>>>>> package
>>>>>>> can be used to create Excel tables which would then
be easy to
>>>>>>> interact with through clicking.
>>>>>>>> Is that what you wanted?
>>>>>>>>
>>>>>>>> Fredrik
>>>>>>>>
>>>>>>>>> On Thu, May 13, 2021 at 4:49 AM Steven Yen
<styen at ntu.edu.tw>
>>>>> wrote:
>>>>>>>>> I insert variable with the expss function
as shown below. No
>>>>>>>>> error message. My question is, how to save
the variable labels in
>>>>>>>>> the data frame so that I can click to read
the labels. Thank you.
>>>>>>>>>
>>>>>>>>>
mydata<-read_excel("data/Excel/hseinv.xlsx",na=".")
>>>>>>>>> library(expss)
>>>>>>>>> mydata=apply_labels(mydata,
>>>>>>>>> year
="1947-1988",
>>>>>>>>> inv ="real
housing inv, millions $",
>>>>>>>>> pop
="population, 1000s",
>>>>>>>>> price
="housing price index; 1982 = 1",
>>>>>>>>> linv
="log(inv)",
>>>>>>>>> lpop
="log(pop)",
>>>>>>>>> lprice
="log(price)",
>>>>>>>>> t ="time
trend: t=1,...,42",
>>>>>>>>> invpc ="per
capita inv: inv/pop",
>>>>>>>>> linvpc
="log(invpc)",
>>>>>>>>>
lprice_1="lprice[_n-1]",
>>>>>>>>>
linvpc_1="linvpc[_n-1]",
>>>>>>>>> gprice
="lprice - lprice_1",
>>>>>>>>> ginvpc
="linvpc - linvpc_1")
>>>>>>>>>
>>>>>>>>>
______________________________________________
>>>>>>>>> R-help at r-project.org mailing list -- To
UNSUBSCRIBE and more, see
>>>>>>>>>
https://stat.ethz.ch/mailman/listinfo/r-help
>>>>>>>>> PLEASE do read the posting guide
>>>>>>>>> http://www.R-project.org/posting-guide.html
>>>>>>>>> and provide commented, minimal,
self-contained, reproducible
>>> code.
>>>>>>>> --
>>>>>>>> "Life is like a trumpet - if you don't
put anything into it, you
>>>>>>>> don't get
>>>>>>> anything out of it."
>>>>>>>
>>>>>>> [[alternative HTML version deleted]]
>>>>>>>
>>>>>>> ______________________________________________
>>>>>>> R-help at r-project.org mailing list -- To
UNSUBSCRIBE and more, see
>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>>>>> PLEASE do read the posting guide
http://www.R-project.org/posting-
>>>>>>> guide.html and provide commented, minimal,
self-contained,
>>>>>>> reproducible code.
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.