у меня есть стол
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
Здесь я хочу рассчитать среднее значение для каждой страны по requestID, чтобы моя ожидаемая таблица выглядела как
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))