【发布时间】:2017-05-23 21:58:20
【问题描述】:
这个脚本运行良好
F <- mutate(F, "1" = ifelse(dt == 1,1,0))
但是,我想创建一个循环,因为我想将它应用到 130 列
我试过了,但它返回一个额外的列
for (i in 1:130) {
F <- mutate(F, "i" = ifelse(dt == i, 1, 0))
}
有人可以帮忙吗?
【问题讨论】:
-
你能不能加个reproducible example?
-
要将 'ifelse()' 应用到每一列,您可以使用功能基 R 例如sapply() 并避免循环。
-
您应该查看
?mutate_each和/或?mutate_all -
正如@IanWesley 建议的那样,使用
mutate_all将是解决此问题的一种非常简单的方法。如果您不想应用其他列,只需在调用mutate_all之前将其选中即可。