-----Original Message-----
From: Steven Yen <styen at ntu.edu.tw>
Sent: Friday, May 14, 2021 12:48 PM
To: PIKAL Petr <petr.pikal at precheza.cz>
Cc: R-help Mailing List <r-help at r-project.org>
Subject: Re: [R] Variable labels
Never mind what I said about "Clickable". All I meant was I created an item
"definitions" that appears after I load the binary file, and that I can "click"
(don's ask me what I mean by "click") the item in RStudio to read its contents
-- variable definitions.
All I want to know at this pointis, is whether my way of getting the definitions
in the environment "clumsy" and whether there are better ways to do it.
Yes, you mention "attr..." but that is not as simple as viewing it in RStudio's
environment pane. Thank you!
On 2021/5/14 ?? 06:37, PIKAL Petr wrote:
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
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>
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
You want to merge info from data frame "desc" to data frame "data"?
You
You want to make binary file which behaves like the one you get?
Use
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
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
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?
-----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
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
(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
[1] "some specialvector" "another special vector" "just ordinary
-----Original Message-----
From: R-help <r-help-bounces at r-project.org> On Behalf Of
Steven
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
On May 13, 2021, at 2:57 PM, Fredrik Karlsson
<dargosch at gmail.com>
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.
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
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.
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")