使用大量篮球决赛得分的大数据集,我只关注两支球队互相比赛两次的情况。
df <- data.frame(Home = c("Air Force", "Air Force", "Air Force", "BYU"),
HomeScore = c(79, 72, 88, 82),
Away = c("BYU", "Utah", "Wyoming", "Air Force"),
AwayScore = c(83, 74, 92, 72),
HomeMargin = c(-4, -2, -4, 10),
HomeWin = c(0, 0, 0, 1))
数据全部从单独的数据库导入。我的最终目标是创建一个最终专栏,“迭代”,表示主队是否在路上赢得同一场比赛,仅用于已经发生两次的比赛(一次回家,一次在路上)。
使用上面的例子,空军一次在家里和一次在路上玩BYU。他们输掉了主场比赛但赢得了比赛。第1行在“迭代”下包含“1”,第2行和第3行包含“NA”,第4行包含“0”。
答案 0 :(得分:0)
你走了!
df3 <- left_join(df,
select(df, Home, Away, iteration = HomeWin),
by = c("Home" = "Away", "Away" = "Home")
)
你可以将它加入对抗自身,匹配Home和Away,Away和Home,然后只引入HomeWin。
我添加了select(df, Home, Away, iteration = HomeWin)
,因为我想过滤掉那个df。您可以将其另存为其他内容,然后根据需要在连接中引用它。
希望这有帮助!