我正在尝试使用for循环创建一组动态命名的新变量,并将每个变量的值分配为零。
我不确定为什么下面的代码不起作用。
weather <- data.frame("TAVG" = 51:52, "Location" = c("USA", "Canada"))
for (i in 30:60) {
weather <- mutate(weather, paste0("hdd", i) = 0)
}
我将不胜感激任何有关如何使此工作的建议或想法。
这与内部引用有关dplyr
。以下应该工作。
for (i in 30:60) {
weather <- mutate(weather, !!paste0("hdd", i) := 0)
}
请注意,使用基数R可能更容易做到。
for (i in 30:60) {
weather[paste0("hdd", i)] <- 0
}
或者只是放弃循环。
weather[paste0("hdd", 30:60)] <- 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句