【发布时间】:2017-01-18 08:10:17
【问题描述】:
我正在尝试通过执行 rbind 将一些列表对象(例如 4 个频率计数表)强制转换为矩阵。但是,它们有不均匀的列(即一些范围从 2 到 5,而另一些范围从 1:5)。我想要显示的是,如果一个表不是以列 1 开头,那么它会在随后的 rbind 矩阵的该行中显示 NA 。我尝试了下面的方法,但是如果不存在,值会在行中重复,而不是显示 NA。 我考虑过 rbind.fill 但它要求表是一个数据框。我可以创建一些循环,但本着 R 的精神,我想知道是否有另一种方法可以使用?
# Example
a <- sample(0:5,100, replace=TRUE)
b <- sample(2:5,100, replace=TRUE)
c <- sample(1:4,100, replace=TRUE)
d <- sample(1:3,100, replace=TRUE)
list <- list(a,b,c,d)
table(list[4])
count(list[1])
matrix <- matrix(ncol=5)
lapply(list,(table))
do.call("rbind",(lapply(list,table)))
【问题讨论】:
-
也许here的答案可以提供帮助。