简体   繁体   English

遍历r中的向量列表

[英]looping through a list of vectors in r

i am trying to loop through a list a vectors and assign values on the way: I generate 10 vectors like this: 我试图遍历列表中的向量并在途中赋值:我生成了10个向量,如下所示:

for(i in 1:10){
  vecname <- paste('blub',i,sep='')
  assign(vecname,vector(mode='numeric',length = my_len))
} 

ls() = blub1, blub2 .... blub10

now i have another vector bla <- 100:109 现在我有另一个向量bla <- 100:109

what i basically want to do is 我基本上想做的是

blub1[1] <- bla[1]
blub2[1] <- bla[2]
blub3[1] <- bla[3]
...
blub10[1] <- bla[10]

I am pretty sure there is an more elegant solution to his problem. 我很确定有解决他问题的更优雅的方法。 Help would be very much appreciated. 帮助将不胜感激。

Thanks and have a nice day! 感谢,并有一个愉快的一天!

Here is how I would do it, following the "R way" of "lists, not for loops": 这是我按照“列表而不是循环”的“ R方式”执行的操作:

my_len <- 3
blub <- replicate(10, vector(mode = "numeric", length = my_len), simplify = FALSE)
bla <- 100:109
blub <- Map(function(a, b) {
  a[1] <- b
  a
}, blub, bla)
# [[1]]
# [1] 100   0   0
# 
# [[2]]
# [1] 101   0   0
# 
# [[3]]
# [1] 102   0   0
# 
# [[4]]
# [1] 103   0   0
# 
# [[5]]
# [1] 104   0   0
# 
# [[6]]
# [1] 105   0   0
# 
# [[7]]
# [1] 106   0   0
# 
# [[8]]
# [1] 107   0   0
# 
# [[9]]
# [1] 108   0   0
# 
# [[10]]
# [1] 109   0   0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM