R编程:循环后保存三维输出

Posted

技术标签:

【中文标题】R编程:循环后保存三维输出【英文标题】:R programming: save three dimensional outputs after loop 【发布时间】:2015-05-15 14:21:01 【问题描述】:

我是 R 新手,我想在循环之后保存输出

 for (i in 1:5) 
    for (d in 1:10) 
     fonction1
     fonction2
     fonction3
   
  

最后我想要 1 个列表-> 包含 5 个列表-> 包含 1*10 数据框 -> 包含一定数量*3 的数字数据。 (我不知道我说的是否正确,我想要的是:就像在 Matlab 中一样,有一个 1*5 结构 -> 包含五个 1*10 结构 -> 包含某些数字*3 数字数据)。

提前感谢

【问题讨论】:

我认为您需要创建一个列表。即lst <- vector('list', 5) 然后将输出分配给lst[[i]] 没有可复现的例子,不好帮忙 【参考方案1】:

看起来您正在处理以下内容:

out <- list()
for (i in 1:5) 
    outList <- list()
    for (d in 1:10) 
     outVect <- c()
     outVect[1] <- fonction1()
     outVect[2] <- fonction2()
     outVect[3] <- fonction3()
     outList[[d]] <- outVect
   
   out[[i]] <- outList
  

那你可以看看:

str(out) 

查看答案的结构

【讨论】:

太棒了。请记住通过单击答案左侧的勾号将问题的答案标记为您选择的答案,以便人们看到您的问题已解决。如果您喜欢某个答案,您可以随时点击向上箭头来表示感谢。【参考方案2】:

试试这个:

lst <- lapply(1:5, function(i) 
  lapply(1:10, function(d) 
    data.frame(function1(),
               function2(),
               function3())
  )
)

假设function1function2function3 都返回相等长度的向量,上面的代码应该会产生你想要的对象。您可以像在 for 循环代码中使用它们一样使用 id

【讨论】:

以上是关于R编程:循环后保存三维输出的主要内容,如果未能解决你的问题,请参考以下文章

R、R 编程、循环目录

编程从键盘输入圆的半径r,计算并输出圆的周长和面积

更改变量并将输出保存在R中的for循环中

r语言qqplot怎么编程代码

R语言问题剖析20篇-R语言泛函式编程purrr实现优雅循环迭代

R语言问题剖析20篇-R语言泛函式编程purrr实现优雅循环迭代