【发布时间】:2018-04-24 11:19:46
【问题描述】:
我有一张桌子
Country ClaimId ClaimItem ClaimAmt
IN C1 1 100
IN C1 2 200
US C2 1 100
US C2 2 100
US C2 3 100
US C3 1 100
US C3 2 100
UK C4 1 100
UK C4 2 200
UK C1 1 100
UK C1 2 200
在这里,我想计算每个国家/地区每个 claimID 的平均值,这样我的预期表格看起来像
Country ClaimId ClaimItem ClaimAmt Avg
IN C1 1 100 300
IN C1 2 200 300
US C2 1 100 250
US C2 2 100 250
US C2 3 100 250
US C3 1 100 250
US C3 2 100 250
UK C4 1 100 300
UK C4 2 200 300
UK C1 1 100 300
UK C1 2 200 300
关于如何实现预期表格的任何想法。 谢谢
这里是示例
> dput(claims)
structure(list(Country = structure(c(1L, 1L, 3L, 3L, 3L, 3L,
3L, 2L, 2L, 2L, 2L), .Label = c("IN", "UK", "US"), class = "factor"),
ClaimId = structure(c(1L, 1L, 2L, 2L, 2L, 3L, 3L, 4L, 4L,
1L, 1L), .Label = c("C1", "C2", "C3", "C4"), class = "factor"),
ClaimItem = c(1L, 2L, 1L, 2L, 3L, 1L, 2L, 1L, 2L, 1L, 2L),
ClaimAmt = c(100L, 200L, 100L, 100L, 100L, 100L, 100L, 100L,
200L, 100L, 200L)), .Names = c("Country", "ClaimId", "ClaimItem",
"ClaimAmt"), class = "data.frame", row.names = c(NA, -11L))
【问题讨论】:
-
为什么
100和200的平均值是300? (ClaimId == 'C1')。 -
Rui Barradas,我的错,编辑了帖子
-
正在寻找每个国家,每个 ClaimID 的平均值
-
@Parfait 我重新打开了
-
@Deepesh 你必须提到你想对每个(国家,ClaimId)求和,然后对每个国家的总和求平均。