如何从R中的列表中的循环分配向量

如何从R中的列表中的循环分配向量,r,list,for-loop,R,List,For Loop,我有一个循环,结果是5个不同大小的向量,我想知道如何在一个列表中分配这些向量 关于我正在尝试做的事情以及我出错的地方,一个最简单的例子是: m=5;n=10 sh=c(0,0,0,0,-39,-75,-12,11,-15) th=c(0,0,0,0,-19,-86,-74,-53,-41) Cj=c(-9,-7,-5,-3,-1,1,3,6,6,9) for(k in m:n-1){ Ai=vector("numeric",

我有一个循环,结果是5个不同大小的向量,我想知道如何在一个列表中分配这些向量

关于我正在尝试做的事情以及我出错的地方,一个最简单的例子是:


    m=5;n=10
    sh=c(0,0,0,0,-39,-75,-12,11,-15)
    th=c(0,0,0,0,-19,-86,-74,-53,-41)
    Cj=c(-9,-7,-5,-3,-1,1,3,6,6,9)
    for(k in  m:n-1){
    Ai=vector("numeric", k)
    for(i in 1:k){  
    Ai[i]=exp(sh[k]+Cj[i]*th[k])/(1+exp(sh[k]+Cj[i]*th[k]))^2
    }
    } 

 

你可以这样做

a1 <- 1
a2 <- 2
a3 <- 3

xy <- ls(pattern = "a")

fl <- list()

for (i in seq_along(xy)) {
  fl[i] <- get(xy[i])
}

names(fl) <- xy

$a1
[1] 1
$a2
[1] 2
$a3
[1] 3
> mget(xy)
$a1
[1] 1

$a2
[1] 2

$a3
[1] 3