Thanks for the explanation (and the function) Hadley. Tal
----------------Contact Details:------------------------------------------------------- Contact me: tal.gal...@gmail.com | 972-52-7275845 Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) | www.r-statistics.com (English) ---------------------------------------------------------------------------------------------- On Sun, Mar 7, 2010 at 2:05 PM, hadley wickham <h.wick...@gmail.com> wrote: > The basic reason because apply works with matrices - it first turns > the input into a matrix, processes each column and then returns a > matrix. See colwise in the plyr package for a function that works > column wise on a data frame, returning a data frame. > > Hadley > > On Sun, Mar 7, 2010 at 11:07 AM, Tal Galili <tal.gal...@gmail.com> wrote: > > Hi all, > > > > Let's say I have a data.frame and wants to turn each of it's columns into > a > > factor. > > My instinct would be to use as.factor with apply. But this won't work, > and > > result with a data.frame of characters. > > I found another solution for how to achieve this, but I would also like > to > > understand - *WHY* does it work this way? > > > > Here is an example script: > > a <- data.frame(x1 = rnorm(100), x2 = sample(c("a","b"), 100, replace = > T), > > x3 = factor(c(rep("a",50) , rep("b",50)))) > > apply(a2, 2,class) # why is column 3 not a factor ? > > a[,3] # since it IS a factor. > > a2 <- apply(a, 2,as.factor) # won't work - why not ? > > a2[,3] # Why was this just turned into a character ??? > > # A solution > > a2 <- lapply(a, as.factor) > > a3 <- as.data.frame(a2) > > str(a3) > > > > > > Thanks, > > Tal > > > > > > > > ----------------Contact > > Details:------------------------------------------------------- > > Contact me: tal.gal...@gmail.com | 972-52-7275845 > > Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) | > > www.r-statistics.com (English) > > > ---------------------------------------------------------------------------------------------- > > > > [[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. > > > > > > -- > Assistant Professor / Dobelman Family Junior Chair > Department of Statistics / Rice University > http://had.co.nz/ > [[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.