2

我有一个如下表:

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()但输出与我的预期不符。

4

2 回答 2

3

对于修改后的问题:

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

fve mdm 
 25   2 

$mdm

fve mdm 
 18   0 

我想你可以do.call(rbind, ...) 在这些值上运行以获得所需的表:

于 2015-06-03T05:44:34.037 回答
2

略有不同的选择是

table(df1[,1][row(df1[-1])], unlist(df1[-1])) 
#     fve mdm
# fve  25   2
# mdm  18   0
于 2015-06-03T06:38:06.127 回答