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

问题描述 投票:-1回答:1

我目前有以下循环。

    > 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,但根据我在代码中早先的参数,它可能会改变。

r loops
1个回答
0
投票

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

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

这将创建一个list,total,每个元素都是以x开头的变量之一

© www.soinside.com 2019 - 2024. All rights reserved.