[R] How to call a value labels attribute?
Dimitrios Rizopoulos
Dimitris.Rizopoulos at med.kuleuven.be
Sun Jun 4 17:01:28 CEST 2006
maybe you could consider something like the following:
varlabs <- function(x){
if (is.null(names(x))) NULL else x[!duplicated(x)]
}
"varlabs<-" <- function(x, value){
names(x) <- names(value[x])
x
}
###############
x <- c(1, 2, 3, 3, 2, 3, 1)
x
varlabs(x)
varlabs(x) <- c(apple=1, banana=2, "NA"=3)
x
varlabs(x)
varlabs(x) <- c(Apfel=1, Banane=2, Birne=3)
x
varlabs(x)
I hope it helps.
Best,
Dimitris
----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven
Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
http://www.student.kuleuven.be/~m0390867/dimitris.htm
Quoting Heinz Tuechler <tuechler at gmx.at>:
> At 14:12 03.06.2006 +0200, Martin Maechler wrote:
> >>>>>> "Heinz" == Heinz Tuechler <tuechler at gmx.at>
> >>>>>> on Tue, 23 May 2006 01:17:21 +0100 writes:
> >
> > Heinz> Dear All, after searching on CRAN I got the
> > Heinz> impression that there is no standard way in R to
> > Heinz> label values of a numerical variable.
> >
> >Hmm, there's names(.) and "names(.) <- .."
> >Why are those not sufficient?
> >
> >x <- 1:3
> >names(x) <- c("apple", "banana", NA)
>
> Martin,
>
> I will considere this. For now I am using an attribute value.labels
> and a
> corresponding class to preserve this and other attributes after
> inclusion
> in a data.frame and indexing/subsetting, but using names should do as
> well.
> My idea was more like defining a set of value labels for a variable
> and
> apply it to all the variable, as e.g. in the following _pseudocode_:
>
> ### not run
> ### pseudocode
> x <- c(1, 2, 3, 3, 2, 3, 1)
> value.labels(x) <- c(apple=1, banana=2, NA=3)
> x
> ### desired result
> apple banana NA NA banana NA apple
> 1 2 3 3 2 3 1
>
> value.labels(x) <- c(Apfel=1, Banane=2, Birne=3) # redefine labels
> x
> ### desired result
> Apfel Banane Birne Birne Banane Birne Apfel
> 1 2 3 3 2 3 1
>
> value.labels(x) # inspect labels
> ### desired result
> Apfel Banane Birne
> 1 2 3
>
> These value.labels should persist even after inclusion in a
> data.frame and
> after indexing/subsetting.
> I did not yet try your idea concerning these aspects, but I will do
> it. My
> final goal is to do all the data handling on numerically coded
> variables
> and to transform to factors "on the fly" when needed for statistical
> procedures. Given the presence of value.labels a factor function
> could use
> them for the conversion.
>
> I described my motivation for all this in a previous post, titled:
> How to represent a metric categorical variable?
> There was no response at all and I wonder, if this is such a rare
> problem.
>
> Thanks,
> Heinz
>
> >
> >
> > Heinz> Since this
> > Heinz> would be useful for me I intend to create such an
> > Heinz> attribute, at the moment for my personal use. Still
> > Heinz> I would like to choose a name which does not conflict
> > Heinz> with names of commonly used attributes.
> >
> > Heinz> Would value.labels or vallabs create conflicts?
> >
> > Heinz> The attribute should be structured as data.frame with
> > Heinz> two columns, levels (numeric) and labels
> > Heinz> (character). These could then also be used to
> > Heinz> transform from numeric to factor. If the attribute is
> > Heinz> copied to the factor variable it could also serve to
> > Heinz> retransform the factor to the original numerical
> > Heinz> variable.
> >
> > Heinz> Comments? Ideas?
> >
> > Heinz> Thanks
> >
> > Heinz> Heinz Tüchler
> >
> > Heinz> ______________________________________________
> > Heinz> R-help at stat.math.ethz.ch mailing list
> > Heinz> https://stat.ethz.ch/mailman/listinfo/r-help PLEASE
> > Heinz> do read the posting guide!
> > Heinz> http://www.R-project.org/posting-guide.html
> >
> >
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
>
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
More information about the R-help
mailing list