我需要使用下面的语句将整数变量替换为factor我可以实现我的目标。
training$v1 <- factor(training$v1)
但我有100个这样的v1到v100:我正在尝试使用此代码对此进行循环..但它给了我错误。
for (i in 1:100) {
training$vi <-factor(training$vi)
}
有什么建议吗?
谢谢
答案 0 :(得分:4)
不使用显式循环的单行dplyr
解决方案:
training <- mutate_each(training, funs(factor), v1:v100)
或等效地,使用管道和替代变量选择器:
training <- training %>% mutate_each(funs(factor), num_range('v',1:100))
Etc等
答案 1 :(得分:2)
你可以在for循环中尝试这个
clm <- paste("v", i, sep = "")
training[, clm] <- factor(training[, clm]
或使用列索引。例如,您要修改的列是2:101
for (i in 2:101) {
training[, i] <- factor(training[, i])
}