Храните дубликаты на нескольких столбцах в R - PullRequest
0 голосов
/ 01 марта 2019

У меня есть этот набор данных:

# A tibble: 15 x 4
# Groups:   bat [3]
   bat     log rocc     id
   <fct> <int> <fct> <int>
 1 A         1 occ       1
 2 A         2 nocc      1
 3 A         3 rent      1
 4 A         4 rent      1
 5 A         5 rent      1
 6 C         7 occ       3
 7 C         8 rent      4
 8 C         9 rent      5
 9 C        10 nocc      5
10 D        11 rent      6
11 D        12 rent      7
12 D        13 rent      8
13 D        14 nocc      9
14 D        15 rent     10
15 D        16 nocc     11

Я бы хотел отфильтровать только летучую мышь с одинаковым идентификатором , поэтому только линии летучей мыши A в этом сокращенном наборе данных.Я пробовал код с dplyr и продублировал, но R также сохраняет две строки bat C с одинаковым идентификатором ... Надеюсь, это ясно:)

Ожидаемый результат:

# A tibble: 5 x 4
# Groups:   bat [1]
   bat     log rocc     id
   <fct> <int> <fct> <int>
 1 A         1 occ       1
 2 A         2 nocc      1
 3 A         3 rent      1
 4 A         4 rent      1
 5 A         5 rent      1

Любойподходящие решения?Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Обычно вы хотите удалить дубликаты столбцов «bat» и «id», допустим, у вас есть фрейм данных DF, попробуйте это:

DF[!duplicated(DF[c(1,4)]),]
0 голосов
/ 01 марта 2019

Что-то очень простое, как это должно работать:

df %>%
  group_by(bat) %>%
  filter(length(unique(id)) == 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...