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.
Hm. What do you mean by "clickable".
#I can save any objects to a file
save(mydata,definitions, file="test.R")
rm("mydata", "definitions")
#load them back
load("test.R")
#but it does not make them "clickable". Point and click is something I
am familiar with in Excel or similar programs byt not in R.
#objects are back in the environment and one can inspect them by regular way
(print, str, head, ...)
mydata
id age yrmarry
1 1 35 4
2 2 31 6
3 3 21 4
4 4 20 3
5 5 19 7
6 6 24 5
definitions
var.labels
id Individual ID
age Age in Years
yrmarry Years of marriage
If you want definitions to be part of the data file just use attr.
attr(mydata, "var.labels") <- definitions$var.labels
attributes(mydata)
$names
[1] "id" "age" "yrmarry"
$class
[1] "data.frame"
$row.names
[1] 1 2 3 4 5 6
$var.labels
[1] "Individual ID" "Age in Years" "Years of
marriage"
Cheers
Petr
> -----Original Message-----
> From: R-help <r-help-bounces at r-project.org> On Behalf Of Steven
Yen
> Sent: Friday, May 14, 2021 11:20 AM
> To: Jim Lemon <drjimlemon at gmail.com>
> Cc: R-help Mailing List <r-help at r-project.org>
> Subject: Re: [R] Variable labels
>
> 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.
>
> ______________________________________________
> 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.
On Fri, 14 May 2021 17:20:20 +0800 Steven Yen <styen at ntu.edu.tw> wrote:> 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 >From your example, after loading "try1.RData" you see a "definitions" entry in the Environment pane. Clicking on the name "definitions" as opposed to the icon to expand the entry opens the "definitions" data frame in its own tab in a pane on the upper left where files such as scripts are displayed. Clicking that tab opens the list of "definitions" which is a list of three entries, where the variable ids from the "mydata" file are row names. That will be the case in any session accessed using RStudio and opening your saved .RData file. If you are concerned about non-RStudio users being able to access that data.frame in the Windows version R, if they load the .RData file that will load the "definitions" data frame, which can be listed simply typing "definitions" at the command prompt. There is no "right way" do this. Your approach works, though it will get awkward if the data frame contains very many definitions. If you look at SPSS (or PSPP) for instance the Data Name and Label are both elements of the definition of the variable, and the Label element of the SPSS variable definition is essentially what your example seems to use as a definition. Otherwise you seem to be treading around the edges of metadata which is also a set of data definitions. R is more flexible about these things, which makes it somewhat more of a chore at times.