0
我有,例如,足球比赛结果如下的“融化”数据集:返回赢家设置
library(data.table)
match.data <- "
game,team,score
1,newcastle,3
1,aston villa,2
2,chelsea,1
2,fulham,1
3,leicester,28
3,man city,0
"
DT <- data.table(read.csv(textConnection(match.data)))
每一行给出了球队的一个得分的进球数在比赛中。我想创建一个谁赢了比赛的数据集(如果是平局的话,NA)。对于我的例子,这将产生:
game winner
1: 1 newcastle
2: 2 NA
3: 3 leicester
其次,我如何描述我想用英语做什么!?!我按比赛分组,并返回对应于他们得分的最大功能的球队名称。我不知道如何正确描述这个操作,所以不得不使用一个例子!
虽然我想要一个使用data.table
,dplyr
(或甚至基R!)的解决方案也是可以接受的。我使用data.table
进行说明。如果team
存储为factor
DT[ , if (diff(score) == 0) NA_character_ else team[which.max(score)], by = game]
更改为NA_integer_
:
你真的只是聚合 – MichaelChirico
谢谢,仍然发现术语有点棘手。 – kungfujam
@Downvoter - 请你能提供一些反馈吗? – kungfujam