R如何为循环编写双精度并将结果存储在矩阵中

Posted

技术标签:

【中文标题】R如何为循环编写双精度并将结果存储在矩阵中【英文标题】:R How to Write Double for Loops and Store Result in a Matrix 【发布时间】:2019-11-24 02:22:46 【问题描述】:

我想存储 X[i,j] 的结果。

X[i,j] = 阿尔法[i] + 贝塔[j]

我尝试编写这个双循环,但无法让它存储结果。感谢这里的任何帮助。谢谢!

for (i in length(alpha))  
  for (j in length(beta)) 
    Xij <- alpha[i] + beta[j]
    matrix[i,j] <- Xij
  

编辑:有没有更有效的方法来做到这一点?由于数据集很大,for 循环运行需要很长时间。

【问题讨论】:

试试outer(alpha, beta, FUN = `+`) 这是一个错字,你可以使用seq_len(length(alpha))seq_len(length(beta))来修复它 我意识到使用长度本身是不对的!它不会从 1 到长度... seq_len 会有所帮助。谢谢 【参考方案1】:

如果循环提供的性能不佳,您应该尝试outer 语句:

outer(alpha, beta, FUN = `+`)

【讨论】:

【参考方案2】:
for (i in 1:length(alpha))  
  for (j in 1:length(beta)) 
    Xij <- alpha[i] + beta[j]
    matrix[i,j] <- Xij
  

【讨论】:

以上是关于R如何为循环编写双精度并将结果存储在矩阵中的主要内容,如果未能解决你的问题,请参考以下文章

我有 R 代码从一个文档中提取信息。如何为我的文件夹中的所有文档循环?

如何为循环编写异常?

如何为最小堆编写添加函数?

我将如何为 R 语法编写等效的 Python 语法

如何为以下代码设置优先级高精度位置

如何为具有spring存储库代码的@Component类编写集成测试?