2011-12-21 47 views

Respuesta

25

La aplicación de la sabiduría de Carl Witthöft arriba:

asNumeric <- function(x) as.numeric(as.character(x)) 
factorsNumeric <- function(d) modifyList(d, lapply(d[, sapply(d, is.factor)], 
                asNumeric)) 

Ejemplo:

d <- data.frame(x=factor(1:3), y=factor(2:4), z=factor(3:5), 
       r=c("a", "b", "c"), stringsAsFactors=FALSE) 
> f <- factorsNumeric(d) 
> class(f$x) 
[1] "numeric" 
> class(f$r) 
[1] "character" 
+0

Uso ordenado de '' modifyList'', una función que no conocía. – PatrickT

Cuestiones relacionadas