r-浏览DF,找到包含两个列字符串匹配的行



使用大量的大学篮球最终成绩数据集,我只是在寻找两支球队两次互相比赛的案例。

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"。

在这里你去!

df3 <- left_join(df, 
                 select(df, Home, Away, iteration = HomeWin), 
                     by = c("Home" = "Away", "Away" = "Home")
                 )

您可以将其与自身相提并论,在家里,外出和家中进行匹配,然后只带来家。

我添加了select(df, Home, Away, iteration = HomeWin),因为我想过滤该DF。您可以将其保存为其他东西,然后如果您愿意。

希望这会有所帮助!

最新更新