在没有for循环的情况下将空行添加到矩阵中

时间:2018-05-14 12:34:35

标签: r

我想将x个空行添加到矩阵中。因此我使用for循环和rbind,但我想知道是否有一种不使用for循环的方法?

  myMatrix<-matrix(ncol=6,nrow=0)
  x<-4
  value<-NA
  for (i in 1:x){
    myMatrix<-rbind(myMatrix,value)
  }

2 个答案:

答案 0 :(得分:1)

如果您要初始化空矩阵,可以在调用data=NA时设置matrix()来执行此操作:

myMatrix <- matrix(data=NA, ncol=6, nrow=4)

这也是不提供任何data参数时的默认行为,因此上述内容仅相当于:

myMatrix <- matrix(ncol=6, nrow=4)

如果您想要将空行附加到现有矩阵,则可以初始化空矩阵并使用rbind附加它:

newMatrix <- rbind(myMatrix, matrix(data=NA, ncol=6, nrow=4))

答案 1 :(得分:1)

在代码中创建一个没有行的矩阵,然后手动添加填充“NA”的行。如果您创建一个矩阵,其中包含您从一开始就已经指定的行数,它就会自动填充NA。

x <- 4
m <- matrix(ncol=6,nrow=x)