[R] factor to numeric in data.frame

Heinz Tuechler tuechler at gmx.at
Sat Apr 2 13:01:57 CEST 2005


Dear All,

Assume I have a data.frame that contains also factors and I would like to
get another data.frame containing the factors as numeric vectors, to apply
functions like sapply(..., median) on them.
I read the warning concerning as.numeric or unclass, but in my case this
makes sense, because the factor levels are properly ordered.
I can do it, if I write for each single column "unclass(...), but I would
like to use indexing, e.g. unclass(df[1:10]).
Is that possible?

Thanks,
Heinz Tüchler

## Example:
f1 <- factor(c(rep('c1-low',2),rep('c2-med',5),rep('c3-high',3)))
f2 <- factor(c(rep('c1-low',5),rep('c2-low',3),rep('c3-low',2)))
df.f12 <- data.frame(f1,f2) # data.frame containing factors

## this does work
df.f12.num <- data.frame(unclass(df.f12[[1]]),unclass(df.f12[[2]]))
df.f12.num
## this does not work
df.f12.num <- data.frame(unclass(df.f12[[1:2]]))
df.f12.num
## this does not work
df.f12.num <- data.frame(unclass(df.f12[1:2]))
df.f12.num




More information about the R-help mailing list