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
>
>
该文档还提到了列名称,我认为你也可以从示例中理解。
非常感谢,这真的很有用 –