以下是我的数据样本:
M<-read.table (text=" group value blue
B 12 Y
C 14 Y
A 12 Y
B 12 N
C 10 Y
A 7 Y
B 6 Y
", header=TRUE)
我想有一个总和为每个组的基础上的值group_by(组)或使用聚合。如果是"Y",那么我根据每组对它们求和。2比如A,两个都是Y,所以A = 19。3现在我可以计算p,即19/19 * 100。4这是我得到的结果。
group value P
A 19 100
B 30 60
C 24 100
3条答案
按热度按时间ylamdve61#
您可以:
创建于2023年1月1日,使用reprex v2.0.2
mspsb9vt2#
dplyr
解决方案:blmhpbnm3#
'data.table'解,假设
value
中没有NA。如果不是这样,则将na.rm = TRUE
添加到求和函数中