我希望在具有某些條件的連接字符串上平均值。這是我的數據:在某些條件下連接字符串的平均值
id path events
1 a, b 2, 3
2 c, a 3, 4
3 b 5
我想借此行的平均水平是不有一個特定的路徑,例如誰沒有C(即1行3)行的平均值(2 + 3 + 5)/ 3 = 3.33
和類似的其他人,所以我的期望的輸出將是
path avg
a 5
b 3.5
c 3.33
之前,我試圖不連接數據
和它的工作
output <- sapply(as.character(unique(df$path)),
function(x) mean(subset(df, !path %in% x)$events))
但不能想出一個主意,這種情況
這是我的數據
mydata <- data.frame(id =c(1,2,3),
path= c("a,b", "c,a", "b"),
events =c (("2,3"), ("3,4"), ("5")))
您可以使用'tidyr :: separate_rows'來取消您的數據,但我不確定遵循了您的彙總邏輯。 – alistaire
@alistaire謝謝('我正在試驗這個。我的summeriziation邏輯在上面舉例說明,例如c,我們把包含c的行放在一邊,所以我們刪除第2行(有c)並保留第1行和第3行,第1行和第3行中的所有事件是2 + 3 + 5/3 = 3.33 – MFR