我有多个向量 D i ,其中 i = 1,2,...,40。现在在对于 -loop,我想对这些做一些操作。以下伪代码总结了我的目标。
for i in 1:40
D = Di # How to do this?
# ... do some operations on D #
编辑:请注意,每个 Di 都是一个单独的向量。
答案 0 :(得分:3)
将它们全部放在列表中,可以使用索引表示法访问每个列表对象(向量)。
MyVectors = list(D1 = c(1:10),
D2 = c(11:20))
> MyVectors[[1]]
[1] 1 2 3 4 5 6 7 8 9 10
> MyVectors[[2]]
[1] 11 12 13 14 15 16 17 18 19 20
因此您可以这样访问它们:
for(i in 1:2){
MyVectors[[i]] = MyVectors[[i]] + 2
}
答案 1 :(得分:2)
有趣的是,I just answered a similar question about 45 minutes ago。我坚持我在答案中描述的关于这个问题的哲学。但是因为你有40个松散的物体,而不是只有2个,所以“分离”方法确实没有意义。您应该使用“系统性”方法,如下所示:
{{1}}
答案 2 :(得分:0)
vectors
放在list
中,然后在每个列表元素中执行操作
MyVectors = list(D1 = c(1:10),
D2 = c(11:20))
lapply(MyVectors, function(x) x +2)