Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环遍历r中的向量列表_R_Vector - Fatal编程技术网

循环遍历r中的向量列表

循环遍历r中的向量列表,r,vector,R,Vector,我试图循环浏览一个列表a向量,并在途中赋值: 我生成10个向量,如下所示: for(i in 1:10){ vecname <- paste('blub',i,sep='') assign(vecname,vector(mode='numeric',length = my_len)) } ls() = blub1, blub2 .... blub10 for(1:10中的i){ vecname以下是我将如何做到这一点,遵循“列表,而不是循环”的“R方式”: my_len“R方

我试图循环浏览一个列表a向量,并在途中赋值: 我生成10个向量,如下所示:

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

ls() = blub1, blub2 .... blub10
for(1:10中的i){

vecname以下是我将如何做到这一点,遵循“列表,而不是循环”的“R方式”:


my_len“R方式”不是在您的工作区中有10个单独的向量,而是这10个向量的单个列表
lappy(bla,“[”)%%>%setNames(sprintf(“blub%02d”,1:10))
将为您提供一个包含10个对象的列表,每个对象都包含
bla
。请注意,您需要
require(dplyr)
要执行
%>%
管道。或者简单地
设置名称(如.list(bla),paste0('blub',bla))
@AdamQuek您不需要
dplyr
而是
magrittr
来处理管道。规则236:
fortunes::fortune(236)
应该使用assign功能的人只有那些完全理解为什么永远不应该使用assign功能的人。--Greg Snow R-help(2009年7月)
blub1[1] <- bla[1]
blub2[1] <- bla[2]
blub3[1] <- bla[3]
...
blub10[1] <- bla[10]
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