R编程 - 循环后组合具有相似名称的列表

时间:2018-03-03 00:07:09

标签: r loops

我目前有以下循环。

    > margin_values
$margINCBJP
[1] 0.8481856 0.9165585 0.9270849 0.7932756 0.8296131 0.8284826 0.7584834 0.2566567

$margINCTRS
[1]          NA          NA          NA          NA          NA  0.84499199  0.73135251 -0.06664292

$margBJPTRS
[1]          NA          NA          NA          NA          NA  0.01650935 -0.02713086 -0.32329962


for(i in 1:length(margin_values)) { 
  nam <- paste("x", i, sep = "")
  assign(nam, margin_values[[i:i]])
}

这会创建从x1xn开始的单独列表。然后,我如何自动组合所有列表中的数字以创建一个列表?我知道我可以手动输入c(x1, x2, x3...)直到n,但由于n是可变的,无论如何让R只对从x开始的所有值做c()?对于这个例子,n = 3,但根据我之前在代码中的参数,它可能会改变。

1 个答案:

答案 0 :(得分:0)

我自己就碰到了这个,这就是我想出来的(当然是为你调整过的):

total<-c(lapply(ls(pattern = "x"),get))

这将创建一个列表total,每个元素都是以x

开头的变量之一