Re: [R] Variable labels and value labels
Hi Georg, add.value.labels simply creates an attribute named "value.labels" for the sorted values of the vector passed to it. The value labels passed become the names of this attribute in the sorted order. The function is intended to mimic a factor in reverse. While the factor adds sequential numeric values to the original values, add.value.labels adds names to the values passed. It was intended to be a mnemonic for numeric values that perhaps should have been coded as character. If I wrote this function now, it would probably look like this: value.labels<-function(x,labels) { if(missing(labels)) return(attr(x,"value.labels")) else { attr(x,"value.labels") <- sort(unique(x)) lenvallab <- length(attr(x,"value.labels")) if (length(labels) > lenvallab) { cat("More value labels than values, only the first", lenvallab, "will be used\n") labels <- labels[1:lenvallab] } names(attr(x, "value.labels"))<-labels return(x) } } age<-sample(1:5,100,TRUE) value.labels(age) age<-value.labels(age,c("0-19","20-39","40-59","60-79","80+")) age value.labels(age) Jim On Thu, Jun 2, 2016 at 3:37 AM, <g.maub...@weinwolf.de> wrote: > Hi Jim, > > many thanks for the hint. > > When looking at the documentation I did not get how I do control which > value gets which label. Is it possible to define it? > > Kind regards > > Georg > > > > > Von:Jim Lemon <drjimle...@gmail.com> > An: g.maub...@weinwolf.de, r-help mailing list <r-help@r-project.org>, > > Datum: 01.06.2016 03:59 > Betreff:Re: [R] Variable labels and value labels > > > > Hi Georg, > You may find the "add.value.labels" function in the prettyR package > useful. > > Jim > > On Tue, May 31, 2016 at 10:00 PM, <g.maub...@weinwolf.de> wrote: >> Hi All, >> >> I am using R for social sciences. In this field I am used to use short >> variable names like "q1" for question 1, "q2" for question 2 and so on > and >> label the variables like q1 : "Please tell us your age" or q2 : "Could > you >> state us your household income?" or something similar indicating which >> question is stored in the variable. >> >> Similar I am used to label values like 1: "Less than 18 years", 2 : "18 > to >> 30 years", 3 : "31 to 60 years" and 4 : "61 years and more". >> >> I know that the packages Hmisc and memisc have a functionality for this >> but these labeling functions are limited to the packages they were > defined >> for. Using the question tests as variable names is possible but very >> inconvenient. >> >> I there another way for labeling variables and values in R? >> >> Kind regards >> >> Georg Maubach >> >> __ >> 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.
Re: [R] Variable labels and value labels
Hi Georg, You may find the "add.value.labels" function in the prettyR package useful. Jim On Tue, May 31, 2016 at 10:00 PM,wrote: > Hi All, > > I am using R for social sciences. In this field I am used to use short > variable names like "q1" for question 1, "q2" for question 2 and so on and > label the variables like q1 : "Please tell us your age" or q2 : "Could you > state us your household income?" or something similar indicating which > question is stored in the variable. > > Similar I am used to label values like 1: "Less than 18 years", 2 : "18 to > 30 years", 3 : "31 to 60 years" and 4 : "61 years and more". > > I know that the packages Hmisc and memisc have a functionality for this > but these labeling functions are limited to the packages they were defined > for. Using the question tests as variable names is possible but very > inconvenient. > > I there another way for labeling variables and values in R? > > Kind regards > > Georg Maubach > > __ > 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.
Re: [R] Variable labels and value labels
I am not sure this is relevant or helpful, but see ?abbreviate, which one can use to abbreviate long strings as labels (but only for English-like languages, I believe). -- Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Tue, May 31, 2016 at 5:00 AM,wrote: > Hi All, > > I am using R for social sciences. In this field I am used to use short > variable names like "q1" for question 1, "q2" for question 2 and so on and > label the variables like q1 : "Please tell us your age" or q2 : "Could you > state us your household income?" or something similar indicating which > question is stored in the variable. > > Similar I am used to label values like 1: "Less than 18 years", 2 : "18 to > 30 years", 3 : "31 to 60 years" and 4 : "61 years and more". > > I know that the packages Hmisc and memisc have a functionality for this > but these labeling functions are limited to the packages they were defined > for. Using the question tests as variable names is possible but very > inconvenient. > > I there another way for labeling variables and values in R? > > Kind regards > > Georg Maubach > > __ > 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.
Re: [R] Variable labels and value labels
Hi see in line > -Original Message- > From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of > g.maub...@weinwolf.de > Sent: Tuesday, May 31, 2016 2:01 PM > To: r-help@r-project.org > Subject: [R] Variable labels and value labels > > Hi All, > > I am using R for social sciences. In this field I am used to use short > variable > names like "q1" for question 1, "q2" for question 2 and so on and label the > variables like q1 : "Please tell us your age" or q2 : "Could you state us your > household income?" or something similar indicating which question is stored > in the variable. > > Similar I am used to label values like 1: "Less than 18 years", 2 : "18 to > 30 years", 3 : "31 to 60 years" and 4 : "61 years and more". Seems to me that it is work for factors nnn <- sample(1:4, 20, replace=TRUE) q1 <-factor(nnn, labels=c("Less than 18 years", "18 to 30 years", "31 to 60 years","61 years and more")) You can store such variables in data.frame with names "q1" to "qwhatever" and possibly "Subject" And you can store annotation of questions in another data frame with 2 columns e.g. "Question" and "Description" Basically it is an approach similar to database and in R you can merge those two data.frames by ?merge. > > I know that the packages Hmisc and memisc have a functionality for this but > these labeling functions are limited to the packages they were defined for. It seems to me strange. What prevents you to use functions from Hmisc? Regards Petr > Using the question tests as variable names is possible but very inconvenient. > > I there another way for labeling variables and values in R? > > Kind regards > > Georg Maubach > > __ > 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. Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou určeny pouze jeho adresátům. Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě neprodleně jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie vymažte ze svého systému. Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat. Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi či zpožděním přenosu e-mailu. V případě, že je tento e-mail součástí obchodního jednání: - vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření smlouvy, a to z jakéhokoliv důvodu i bez uvedení důvodu. - a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout; Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany příjemce s dodatkem či odchylkou. - trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve výslovným dosažením shody na všech jejích náležitostech. - odesílatel tohoto emailu informuje, že není oprávněn uzavírat za společnost žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn nebo písemně pověřen a takové pověření nebo plná moc byly adresátovi tohoto emailu případně osobě, kterou adresát zastupuje, předloženy nebo jejich existence je adresátovi či osobě jím zastoupené známá. This e-mail and any documents attached to it may be confidential and are intended only for its intended recipients. If you received this e-mail by mistake, please immediately inform its sender. Delete the contents of this e-mail with all attachments and its copies from your system. If you are not the intended recipient of this e-mail, you are not authorized to use, disseminate, copy or disclose this e-mail in any manner. The sender of this e-mail shall not be liable for any possible damage caused by modifications of the e-mail or by delay with transfer of the email. In case that this e-mail forms part of business dealings: - the sender reserves the right to end negotiations about entering into a contract in any time, for any reason, and without stating any reasoning. - if the e-mail contains an offer, the recipient is entitled to immediately accept such offer; The sender of this e-mail (offer) excludes any acceptance of the offer on the part of the recipient containing any amendment or variation. - the sender insists on that the respective contract is concluded only upon an express mutual agreement on all its aspects. - the sender of this e-mail informs that he/she is not authorized to enter into any contracts on behalf of the company except for cases in which
[R] Variable labels and value labels
Hi All, I am using R for social sciences. In this field I am used to use short variable names like "q1" for question 1, "q2" for question 2 and so on and label the variables like q1 : "Please tell us your age" or q2 : "Could you state us your household income?" or something similar indicating which question is stored in the variable. Similar I am used to label values like 1: "Less than 18 years", 2 : "18 to 30 years", 3 : "31 to 60 years" and 4 : "61 years and more". I know that the packages Hmisc and memisc have a functionality for this but these labeling functions are limited to the packages they were defined for. Using the question tests as variable names is possible but very inconvenient. I there another way for labeling variables and values in R? Kind regards Georg Maubach __ 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.