相关疑难解决方法(0)

在R,NULL与NA中分配矩阵的最佳方法是什么?

我正在编写R代码来创建一个方阵.所以我的方法是:

  1. 分配正确大小的矩阵
  2. 遍历矩阵的每个元素并用适当的值填充它

我的问题很简单:预先分配这个矩阵的最佳方法是什么?到目前为止,我有两种方式:

> x <- matrix(data=NA,nrow=3,ncol=3)
> x
     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]   NA   NA   NA
[3,]   NA   NA   NA
Run Code Online (Sandbox Code Playgroud)

要么

> x <- list()
> length(x) <- 3^2
> dim(x) <- c(3,3)
> x
     [,1] [,2] [,3]
[1,] NULL NULL NULL
[2,] NULL NULL NULL
[3,] NULL NULL NULL
Run Code Online (Sandbox Code Playgroud)

据我所知,前者比后者更简洁.此外,前者用NA填充矩阵,而后者填充NULL.

这是"更好"的方法吗?在这种情况下,我将"更好"定义为"更好的性能",因为这是统计计算,并且此操作将在大型数据集中进行.

虽然前者更简洁,但理解起来并不令人惊讶,所以我觉得这可能是两种方式.

另外,R中NA和NULL之间有什么区别??NA和?NULL告诉我"NA"的长度为"1",而NULL的长度为"0" - 但这里有更多吗?还是最佳做法?这将影响我用于创建矩阵的方法.

r matrix

33
推荐指数
1
解决办法
5万
查看次数

标签 统计

matrix ×1

r ×1