Pascal A. Niklaus <[EMAIL PROTECTED]> wrote: > I repeatedly encounter the following problem: After importing a data set > into a data frame, I wish to set a column with numeric values to be a > factor, but can't figure out how to do this. Also, I do not wish to > write as.factor(x) all the time. I can create a new vector with x <- > factor(x), but the new vector resides outside the attached data frame. > > Pascal > > > attach(ngrad) > > is.factor(STNW) > [1] FALSE > > > ngrad$STNW<-factor(STNW) ## doesn't work > > is.factor(STNW) > [1] FALSE
That command checked the attached dataset, which has not been modified by the previous command. You seem to be confused by what attach() does. Read ?attach. > data <- data.frame(a=1:3, b=4:6) > data a b 1 1 4 2 2 5 3 3 6 > attach(data) > is.factor(a) [1] FALSE > data$a <- as.factor(a) > is.factor(a) [1] FALSE > is.factor(data$a) [1] TRUE > detach(data) > attach(data) > is.factor(a) [1] TRUE -- Philippe ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help