我想把因子转换成数字,这样就可以对它们求平均数了。使用as.numeric进行转换,否则用numeric是不行的。
mtcars$vec <- factor(c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1))
num.cols <- c("vec" )
mtcars[num.cols] <- lapply(mtcars[num.cols], as.numeric)
str(mtcars)
mtcars$vec
期望结果应为数字,且仅由0和1组成。
mtcars$vec
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
非常感谢您的预先帮助。
mtcars$vec <- as.numeric(as.character(mtcars$vec))
- Ronak Shah