Удаление строк в R, которые похожи на другие строки - PullRequest
0 голосов
/ 29 мая 2018

Я не был уверен, как сформулировать этот вопрос, потому что в некотором смысле строки, которые я хочу удалить, технически дублируют строки, но содержат разные данные в некоторых столбцах.Я уверен, что существует какое-то решение этой проблемы, но я не смог его найти.

      inning outs balls strikes pitchSeq   batter    eventNum
101      6    2     0       2        F    sandp001      49     
102      6    2     0       2        F    sandp001      49      
104      6    2     0       2        B    sandp001      49 


      inning outs balls strikes pitchSeq   batter   eventNum
105      6    2     2       2        F    sandp001      50  
106      6    2     2       2        F    sandp001      50  
108      6    2     2       2        B    sandp001      50  
110      6    2     2       2        B    sandp001      50  
111      6    2     2       2        S    sandp001      50  

Есть около 90 других столбцов с соответствующей информацией, но мне было интересно, есть ли общая функция или команда Rчто я могу использовать, чтобы удалить первые три строки из второй выдержки таблицы, поскольку они представляют одинаковые результаты.В моей таблице несколько ситуаций с различным количеством строк.В идеале я мог бы использовать что-то, что я мог бы вставить в исходный код, поскольку мне пришлось бы делать это с несколькими сотнями разных файлов.

1 Ответ

0 голосов
/ 29 мая 2018

Используйте функцию unique() для удаления дубликатов.Вот пример:

library(dplyr)
dat <- bind_rows(mtcars[1, ], head(mtcars)) #creating a small data frame with a duplicate row

dat
   mpg cyl disp  hp drat    wt  qsec vs am gear carb
1 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
2 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
3 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
4 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
5 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
6 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
7 18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

Первые две строки dat являются дубликатами.Используйте unique() для удаления дублирующейся строки.

unique(dat)
   mpg cyl disp  hp drat    wt  qsec vs am gear carb
1 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
2 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
3 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
4 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
5 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
6 18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

Вы можете дополнительно указать столбцы для уникального просмотра.

Например, unique(dat[, -c("hp", "vs)])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...