for循环中的字符数据(R)

时间:2017-08-01 19:22:51

标签: r

我希望在for循环中更新对象名称(字符数据),但我不确定如何将索引变量附加到字符数据。我本来希望工作的(显然不正确的)代码是:

for(i in 1:5){
 name.i <- i
}

预期输出将等同于以下内容:

name.1 <- 1
name.2 <- 2
name.3 <- 3
name.4 <- 4
name.5 <- 5

我甚至不确定这个问题会被称为什么 - 请让我知道(如果你知道的话),以便我能够适当地标题未来的问题。

EXTENSION

假设工作代码生成向量而不是数字,但我们需要一个循环遍历每个name.i向量的for循环并更改其中一个条目。我们如何在此for循环中保留iname.i的索引?也就是说,如何凝聚以下内容:

for(i in 1:5){
 assign(paste0("name.", i), c(i, 0, 0))
}

name.1[2] <- 1 + 1
name.2[2] <- 2 + 1
name.3[2] <- 3 + 1
name.4[2] <- 4 + 1
name.5[2] <- 5 + 1

当然,原始for循环中的第二个条目可以设置为i+1,但我很有兴趣理解如何以这种方式使用字符名称---  也就是说,通过使用索引参数循环遍历名称,尽管名称本身就是字符数据(如果可能的话)。

1 个答案:

答案 0 :(得分:3)

for(i in 1:5){
 assign(paste0('name.',i), i)
}