【发布时间】:2016-02-28 20:55:17
【问题描述】:
我有一个 60 列的表,每列中的值如下:YES、NO、NA、NP。
A B C
1 YES NO NO
2 NA NA NA
3 YES NO YES
4 NP NP NP
我需要计算多个比例,每个比例都有一个不同的分母:
示例:
YES 与 YES 和 NO 的百分比 (YES / (YES + NO))
NP 对除 NA 以外的所有人的百分比 (NP / (YES + NO + NP))
NA 对所有人的百分比 (NA / rows)
来自上述数据框的期望结果:
%YES.A %NP.A %NA.A %YES.B
100% 33% 25% 0%
到目前为止我所做的尝试:
尝试将 dplyr 与 mutate 一起使用,但需要为 60 列中的每一列创建 7 个附加列。每个值四个,每个百分比三个。
试过revalue,但同样的问题是列太多
mydata$A.NO <- revalue(mydata$A, c("NO" = 1))
mydata$A.YES <- revalue(mydata$A,c("YES" = 1))
希望有人可以指导我找到更好的解决方案或我应该阅读的任何库。
【问题讨论】:
-
您的数据有多大?
-
4k 行 X 144 列 (4MB)