【发布时间】:2019-11-13 09:19:20
【问题描述】:
我想创建一个大比例表,包括根据一列过滤掉某些值,并输出表中等于 0 和大于 0 的值的比例。这是数据框(df)的示例:
ID a b c d e f g
1 1 1 2 3 0 4 5 A
2 2 0 0 1 0 2 0 A
3 3 1 5 2 1 0 0 B
4 4 5 1 2 0 1 1 B
5 5 2 0 1 0 0 0 C
...
由此,我想得出 b=0 或 b>0 IF 列 a>0 的比例。供您参考,我可以使用以下代码获取此信息:
prop.table(table(df$b[df$a>0]!=0))*100
但是,我想对列 c 和 d 以及 e 和 f 执行相同的操作(相同类型的模式,以便您在 c=0 和 e=0 时过滤掉这些 >0 和 = d 和 f 的比例分别为 0)。此外,我希望将此输出全部放入一个表中。可能看起来像这样:
b.perc d.perc f.perc
TRUE 75.00 20.00 66.67
FALSE 25.00 80.00 33.33
感谢任何帮助。另外,我想计算列 G 中列出的各组的 TRUE 百分比,给我这样的输出:
b.perc d.perc f.perc
A 100.00 0.00 50.00
B 100.00 50.00 100.00
C 0.00 0.00 0.00
【问题讨论】: