通过 DF 查看,找到包含两个列字符串的相反匹配的行
Look through DF, find rows that contain opposite matches of two column strings
使用大学篮球决赛比分的大型数据集,我只寻找两支球队相互交手两次的情况。
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))
数据全部从单独的数据库导入。我的最终目标是创建一个最后一列,"iteration" 表示主队是否在客场赢得了同一场比赛,仅适用于发生两次的比赛(一次主场和一次客场)。
使用上面的例子,空军在家里和路上玩了一次 BYU。他们输掉了主场比赛,但赢得了客场比赛。第 1 行将包含 "iteration" 下的“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。您可以将其另存为其他内容,然后根据需要在联接中引用它。
希望对您有所帮助!
使用大学篮球决赛比分的大型数据集,我只寻找两支球队相互交手两次的情况。
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))
数据全部从单独的数据库导入。我的最终目标是创建一个最后一列,"iteration" 表示主队是否在客场赢得了同一场比赛,仅适用于发生两次的比赛(一次主场和一次客场)。
使用上面的例子,空军在家里和路上玩了一次 BYU。他们输掉了主场比赛,但赢得了客场比赛。第 1 行将包含 "iteration" 下的“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。您可以将其另存为其他内容,然后根据需要在联接中引用它。
希望对您有所帮助!