是否有一种优雅的方法可以使空白单元格中的tapply 不返回NULL? (来自?tapply:“对于列表结果,与空单元格对应的元素为NULL。”)
即。与
v1 = factor(rep(c(1,3),3),levels = 1:3)
v2 = factor(c("A","B","B","A","A","B"),levels=c("A","B"))
tapply(v2,v1,table)
我得到了
$`1`
A B
2 1
$`2`
NULL
$`3`
A B
1 2
而期望的输出将是
$`1`
A B
2 1
$`2`
A B
0 0
$`3`
A B
1 2
谢谢!
答案 0 :(得分:2)
以下是使用split
和lapply
代替tapply
> lapply(split(v2, v1), table)
$`1`
A B
2 1
$`2`
A B
0 0
$`3`
A B
1 2