【发布时间】:2015-01-14 17:42:08
【问题描述】:
您好,提前感谢您。我有一个简单的 for 循环,但棘手的部分是,对于计数器中的每个 i,我想生成一个由 i 索引的新变量:
for (i in c(1,2,3)) {
var_[i] <- i + 2
}
所以我想要得到的最终结果是三个变量 var_1、var_2、var_3 分别等于 3,4 和 5。
【问题讨论】:
-
您需要查看
assign。
您好,提前感谢您。我有一个简单的 for 循环,但棘手的部分是,对于计数器中的每个 i,我想生成一个由 i 索引的新变量:
for (i in c(1,2,3)) {
var_[i] <- i + 2
}
所以我想要得到的最终结果是三个变量 var_1、var_2、var_3 分别等于 3,4 和 5。
【问题讨论】:
assign。
如果您想坚持使用 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
(可能有更好的方法来做你想做的任何事情......)
【讨论】: