rbind.fill.matrix究竟做了什么?

问题描述:

我有这个代码,不能理解如何使用rbind.fill.matrix。 dtmat是一个矩阵,包含行和列上文字。rbind.fill.matrix究竟做了什么?

word <- do.call(rbind.fill.matrix,lapply(1:ncol(dtmat), function(i) { 
    t(rep(1:length(dtmat[,i]), dtmat[,i])) 
})) 

我阅读函数的说明,并说,绑定矩阵,但不能理解哪些和填充NA丢失的列。

从我所了解的情况来说,函数会替换不与NA绑定的列。 可以说我有2个矩阵A和两列col1和col2,B有三列col1,col2和colA。由于我想绑定所有这两个矩阵,但rbind仅绑定具有相同列数和相同列名的矩阵,rbind.fill.matrix绑定列,但将NA添加到应该在两个矩阵中的所有值中。下面的代码将更清楚地解释它。

a <- matrix(c(1,1,2,2), nrow = 2, byrow = T) 
> a 
     [,1] [,2] 
[1,] 1 1 
[2,] 2 2 
> 
> b <- matrix(c(1,1,1,2,2,2,3,3,3), nrow = 3, byrow = T) 
> b 
     [,1] [,2] [,3] 
[1,] 1 1 1 
[2,] 2 2 2 
[3,] 3 3 3 
> 
> library(plyr) 
> r <- rbind.fill.matrix(a,b) 
> r 
    1 2 3 
[1,] 1 1 NA 
[2,] 2 2 NA 
[3,] 1 1 1 
[4,] 2 2 2 
[5,] 3 3 3 
> 
> 

该文档还提到了列名称,我认为你也可以从示例中理解。

+0

非常感谢,这真的很有用 –