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.pi...@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 <st...@ntu.edu.tw>
Sent: Thursday, May 13, 2021 5:53 PM
To: PIKAL Petr <petr.pi...@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 <st...@ntu.edu.tw>
Sent: Thursday, May 13, 2021 1:37 PM
To: PIKAL Petr <petr.pi...@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-boun...@r-project.org> On Behalf Of Steven
Yen
Sent: Thursday, May 13, 2021 10:07 AM
To: Fredrik Karlsson <dargo...@gmail.com>
Cc: R-help Mailing List <r-help@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 <dargo...@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 <st...@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@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@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@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@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.

Reply via email to