【问题标题】:how to assign vectors from loops in a list in R如何从R中列表中的循环中分配向量
【发布时间】:2020-09-26 15:29:15
【问题描述】:

我有一个循环导致 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
    }
    } 

 

【问题讨论】:

    标签: r list for-loop


    【解决方案1】:

    你可以这样做。

    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

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

    【讨论】:

      猜你喜欢
      • 2015-10-02
      • 1970-01-01
      • 2016-08-18
      • 2016-04-24
      • 2016-11-24
      • 2020-01-05
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      相关资源
      最近更新 更多