I did read the help page before posting, but didn't find the direct way... My
function here works fine. But just for learning purposes, I'd like to be able
to avoid the loop...
with.labels <- function(x, labels=NULL, csvfile=NULL) {
if(!is.null(csvfile)) labels <- read.csv(csvfile, sep="\t", header=F,
stringsAsFactors=F)[,1]
for(i in 1:length(x)) label(x[,i]) <- labels[i]
if(length(labels) != length(x)) cat("Warning: data and labels are not of same
length\n")
return(x)
}
Thanks
> Message: 11
> Date: Tue, 16 Aug 2011 04:22:07 -0700 (PDT)
> From:
Frank Harrell <[email protected]>
> To:
[email protected]
> Subject:
Re: [R] Labelling all variables at once (using Hmisc label)
> Message-ID:
<[email protected]>
> Content-Type:
text/plain; charset=UTF-8
>
> Do
require(Hmisc); ?label to see the help file for label. It will show you
> how to
do this:
>
> Monsieur
Do wrote:
> >
I have a dataset and a list of labels. I simply want
> > to
apply the labels to the variables, all at once. The only way I was able
> > to do
it was using a loop:
> >
> > for (i in 1:length(data)) label(data[,i]) <-data.labels[i]
> >
> > I'd like to find the non-loop way to do it, using
> >
apply or the like... Any help appreciated.
> >
> -----
> Frank
Harrell
> Department
of Biostatistics, Vanderbilt University
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
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.