填充矩阵时尺寸不匹配

时间:2011-08-02 18:19:26

标签: r matrix

我目前正在R工作,我正在尝试填充矩阵 一些for循环。但是,我一直得到“要替换的项目数不是替换长度的倍数”错误。我设置矩阵()的方式是我指定了nrow (因为我确定大小)并且我把ncol留空了。

如何创建动态分配维度的矩阵?

有什么建议吗? 谢谢。

1 个答案:

答案 0 :(得分:2)

我想到了几个选择:

  • 对矩阵的大小做出明智的猜测并进行相应的分配。然后检查代码以查看是否超出所选限制并展开对象。如果你扩展一个合理的块大小(即不添加1列,添加10或20或 n 取决于你的问题的大小,无论什么是合理的)那么你将不会招致经常复制/扩展开销,如果写得不好,那就是bogs循环下来。

  • 将数据/结果存储在列表中,其中每个组件都是矩阵的一行。这样你就可以在进行时填充对象,然后可以将结果列表处理为带填充的矩阵,或者直接使用列表。如果每一行可以具有不同的长度(列数),那么首先将其存储为矩阵并且列表是更好的选择是没有意义的。