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 <f.harr...@vanderbilt.edu> > To: r-help@r-project.org > Subject: Re: [R] Labelling all variables at once (using Hmisc label) > Message-ID: <1313493727519-3746928.p...@n4.nabble.com> > 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]]
______________________________________________ R-help@r-project.org 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.