2011-12-21 36 views

Trả lời

25

Áp dụng sự khôn ngoan từ Carl Witthoft trên:

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

Ví dụ:

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

Sử dụng gọn gàng '' modifyList'', một hàm tôi không biết. – PatrickT

Các vấn đề liên quan