使用来自多列的唯一值组合从数据框中选择行

Jos*_*osh 2 select r dataframe dplyr

我在 R 中有一个 data.frame,它是每支球队在多个赛季中的棒球比赛结果目录。一些列是team, opponent_team, date, result, team_runs, opponent_runs, 等。那一行。

例如

team  opponent_team  date           result team_runs opponent_runs
BAL   BOS            2010-04-05      W      5         4
Run Code Online (Sandbox Code Playgroud)

在其他地方有另一行

team  opponent_team  date           result team_runs opponent_runs
BOS   BAL            2010-04-05      L      4         5
Run Code Online (Sandbox Code Playgroud)

我想编写一些代码dplyr或类似的代码来选择具有,和列的独特组合的行。我在这里强调单词组合,因为顺序无关紧要,我只是想摆脱镜像的行。teamopponent_teamdate

谢谢

Kan*_*ida 6

您是否尝试过distinctdplyr 的功能?对于您的情况,它可能类似于

library(dplyr)
df %>% distinct(team, opponent_team, date)
Run Code Online (Sandbox Code Playgroud)

另一种选择是duplicatedfilterdplyr 的函数中使用来自基 R 的函数,如下所示。

filter(!duplicated(team, opponent_team, date)
Run Code Online (Sandbox Code Playgroud)