r - 如何按 A 类求和并分别计算值的百分比?
问题描述
Type value
A 100
A 234
A 359
B 385
B 352
B 233
如何按 A 类求和并分别计算值的百分比?预期输出:
Type value Percentage
A 100 14.43
A 234 33.77
A 359 51.8
B 385 39.69
B 352 36.29
B 233 24.02
我用
d=aggregate(value~ Type, df, sum)
value/d
或者
mutate(Percentage = value / sum(value))
但两者都不起作用
解决方案
另一种base R
选择是
df$Percentage <- with(df, 100 *value/tapply(value, Type, sum)[Type])
-输出
df
Type value Percentage
1 A 100 14.43001
2 A 234 33.76623
3 A 359 51.80375
4 B 385 39.69072
5 B 352 36.28866
6 B 233 24.02062
数据
df <- structure(list(Type = c("A", "A", "A", "B", "B", "B"), value = c(100L,
234L, 359L, 385L, 352L, 233L)), class = "data.frame", row.names = c(NA,
-6L))
推荐阅读
- authentication - 托管在专用网络中并使用 Azure AD 作为 oauth 提供程序时,Keycloak 引发 UnknownHostException
- python - 熊猫的相关代码在哪里?
- firebase - 如何为来自另一个firebase项目的用户设置/传播firebase身份验证上下文(UID)以进行firestore规则配置?
- amazon-web-services - 是否可以在特定时间范围内对 S3 事件进行分组?
- python - 熊猫仅在数据框中获取包含另一列中某个字符串的行的最小/最大值
- spring - spring boot如何使用jpa查询将项目附加到列表中
- android - Android 10+ 电话录音支持
- powershell - New-DFSNFolderTarget cmdlet 的问题
- javascript - 当我使用图表 div 的样式属性设置高度时,水平条形图显示在画布下方(Chart.js 2.9.4)
- java - 我得到未解决的参考:当我尝试关闭警报对话框时关闭