我试图将一些变量设置为字符,将其他变量设置为数字,我目前拥有的是
colschar <- c(1:2, 68:72)
colsnum <- c(3:67)
subset <- as.data.frame(lapply(data[, colschar], as.character), (data[, colsnum], as.numeric))
返回错误。 我试图将列1:2和68:72设置为字符,将列3:67设置为数字。
答案 0 :(得分:5)
我建议:
data[colschar] <- lapply(data[colschar], as.character)
data[colsnum] <- lapply(data[colsnum], as.numeric)
答案 1 :(得分:1)
如果您共享数据摘录应该会更好。无论如何,您可以尝试使用tidiverse
方法:
library(dplyr)
mydf_molt <- mydf %>%
mutate_at(.vars=c(1:2, 68:72),.funs=funs(as.character(.))) %>%
mutate_at(.vars=c(3:67),.funs=funs(as.numeric(.)))