偶然事件 table 一次对多次 table

Contingency table once against multiple table

我有一个 table 如下所示:

V1  V2  V3  V4  V5  V6  V7  V8  V9 V10
fve fve fve fve fve fve fve fve mdm mdm
mdm fve fve fve fve fve fve fve fve fve
fve fve fve fve fve fve fve fve fve fve
mdm fve fve fve fve fve fve fve fve fve
fve fve fve fve fve fve fve fve fve fve

我想计算第 1 列中所有频率的频率,并得到如下结果:

    fve mdm
fve 25  2
mdm 18  0

可以吗?我尝试使用 table()ftable(),但输出与我的预期不符。

修改后的问题:

> tapply(unlist(dat[-1]), rep(dat[[1]], length(dat[-1])), table)
$fve

fve mdm 
 25   2 

$mdm

fve mdm 
 18   0 

我想你可以 运行 do.call(rbind, ...) 在这些值上得到想要的 table:

略有不同的选项是

table(df1[,1][row(df1[-1])], unlist(df1[-1])) 
#     fve mdm
# fve  25   2
# mdm  18   0