【发布时间】:2018-05-28 06:04:19
【问题描述】:
我的数据包含关于足球比赛结果的统计数据,包括 12806 次观察(比赛结果)和 34 个关键绩效指标。
我的 data.frame 的一个(小)示例如下:
head(Test)
MatchID Outcome Var1 Var2 Var3 Var4 Var5
1 30 Loss 0 10 0 10 0
2 30 Win 6 13 6 13 6
3 31 Loss 8 12 3 6 3
4 31 Win 29 40 9 19 3
5 32 Loss 7 26 7 26 6
6 32 Win 11 20 11 20 9
对于每个唯一的“匹配 ID”,我希望从获胜 (Outcome=="Win") 团队中扣除每个失败的 (Outcome=="Loss" 关键绩效指标。我的 data.set 并不总是由输,赢,输,赢所以连续完成。明智的方式可能是不可能的。
我使用 dplyr 尝试了以下操作:
Differences <- Test %>%
group_by(MatchID) %>%
summarise_at( .vars = names(.)[3:7], ((Outcome == "Win") - (Outcome == "Loss")))
但担心我使用了错误的方法,因为我收到以下错误:Error in inherits(x, "fun_list") : object 'Outcome' not found
我的预期结果是:
head(AnticipatedOutcome)
MatchID Var1 Var2 Var3 Var4 Var5
1 30 6 3 6 3 6
3 31 21 28 6 13 0
5 32 4 -6 4 -6 3
请问使用 dplyr 可以实现吗?
【问题讨论】:
-
@akrun 道歉,这是更新以反映我的例子。
-
感谢您的更新。你能检查更新的
summarised 输出吗