我正在编写R代码来创建一个方阵.所以我的方法是:
我的问题很简单:预先分配这个矩阵的最佳方法是什么?到目前为止,我有两种方式:
> 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" - 但这里有更多吗?还是最佳做法?这将影响我用于创建矩阵的方法.