R中的循环索引

时间:2017-07-23 16:17:04

标签: r loops indexing

我想把我的变量放在循环中,如:

d1,d2,d3,...,d100

其中di是向量。如何将它们放在R中循环:

for (i in 1:100){
paste0("d",i)= ....
}

这不起作用!

1 个答案:

答案 0 :(得分:1)

我们可以使用mget返回list中的对象,然后使用lapply进行处理

lapply(mget(paste0("d", 1:100)), yourfunction)

paste是矢量化的,因此我们不需要使用for循环,但是如果我们需要在for循环中处理对象,并且我们正在全球环境中创建对象(不推荐)

for(i in 1:100) {
 assign(paste0("d", i), rnorm(5))
}

而不是分配多个对象,可以在list中完成相同的操作,而无需创建任何对象

replicate(100, rnorm(5), simplify = FALSE)

或者

lapply(1:100, function(i) rnorm(5))

注意:rnorm仅用于演示