代码之家  ›  专栏  ›  技术社区  ›  sym246

For循环仅将最终结果存储在R中

  •  1
  • sym246  · 技术社区  · 11 年前

    我试图在R中运行一个for循环,将结果存储在列表中。我无法将数据存储在矩阵中,因为我的输出长度不同。例如,下面的代码生成一个列表,除了最后一节之外,所有条目都为“NULL”。

    for(i in 1:n) {
      time <- list()
      time[[i]] <- (sample(1:96, wb[i], replace=T, prob=weekday[,1]))
    print(time)
    }
    

    然而,如果我这样做,结果就是我想要的,但它没有被存储,所以我以后不能使用它。

    for(i in 1:n) {
       print(sample(1:96, wb[i], replace=T, prob=weekday[,1]))
    }
    

    任何帮助都将不胜感激!

    1 回复  |  直到 10 年前
        1
  •  3
  •   Benjamin    11 年前

    为了增加乐趣(和效率),您可以尝试

    time <- lapply(1:n, function(i) sample(1:96, wb[i], replace=T, prob=weekday[,1]))