通过for循环索引在R中生成新变量

时间:2015-01-14 17:42:08

标签: r for-loop

您好,并提前致谢。我有一个简单的for循环,但棘手的部分是,对于柜台中的每个我,我想生成一个由i索引的新变量:

for (i in c(1,2,3)) {
    var_[i] <- i + 2
}

所以我试图获得的最终结果是三个变量var_1,var_2,var_3分别等于3,4和5.

1 个答案:

答案 0 :(得分:1)

如果您想坚持使用for循环并在您的环境中创建许多对象,则可以使用assign

ls()
# character(0)

for (i in c(1,2,3)) {
  assign(paste0("var_", i), i + 2)
}

ls()
# [1] "i"     "var_1" "var_2" "var_3"
var_1
# [1] 3
var_2
# [1] 4
var_3
# [1] 5

(可能有更好的方法可以做任何你想做的事情......)