首页 > 解决方案 > 如何在 R 中使用向量填充列表

问题描述

for我正在尝试使用来自循环内发生的某些操作的向量填充列表。

var_hyp1 <- list()
var_hyp2 <- list()
var_hyp3 <- list()

for (i in 1:9){
  
  vec1 <- rnorm(1000)  
  vec2 <- rnorm(1000)
  vec3 <- rnorm(1000)
  vec4 <- rnorm(1000)
    
  var_hyp1 <- vec2 - vec1
  var_hyp2 <- vec4 - vec3
  var_hyp3 <- vec4 - vec1
  

  var_hyp1[[i]] <- var_hyp1
  var_hyp2[[i]] <- var_hyp2
  var_hyp3[[i]] <- var_hyp3
}

我一直有这个我无法理解的错误。

Error in var_hyp1[[i]] <- var_hyp1 : 
  more elements supplied than there are to replace

我很欣赏任何见解。

标签: rlistfor-loopvector

解决方案


也许这就是你要找的东西?在您的代码中,您将一个列表分配到“I”处的列表中,但这可能不是您想要的。如果这不是你想要的,请告诉我。

var_hyp1 <- list()
var_hyp2 <- list()
var_hyp3 <- list()

for (i in 1:9){
  
  vec1 <- rnorm(1000)  
  vec2 <- rnorm(1000)
  vec3 <- rnorm(1000)
  vec4 <- rnorm(1000)
  
  var_hyp1[[i]] <- vec2 - vec1
  var_hyp2[[i]] <- vec4 - vec3
  var_hyp3[[i]] <- vec4 - vec1
  
  }

推荐阅读