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