我希望在具有某些条件的连接字符串上平均值。这是我的数据:在某些条件下连接字符串的平均值
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