Мне нужно удалить дубликаты из столбца Ссылка, но по приоритетам оставить строку с указанным значением c в NODCCODE, если оно существует для этой группы ссылочных номеров. Если это значение NODCCODE не существует, не имеет значения, какая строка сохранена. В конце должны быть только уникальные ссылочные номера, но все экземпляры целевого NODCCODE и связанного ссылочного номера все еще должны существовать. Существует только один экземпляр NODCCODE на группу ссылочных номеров в начальном наборе данных. В приведенном ниже примере я использовал целевой NODCCODE "8835430200"
У меня есть следующие данные ...
structure(list(Reference = c("BBM101", "BBM101",
"BBM101", "BBM101", "BBM101"), NODCCODE = c("8835020301",
"8835400201", "8835430201", "8835430401", "8837010102"), Number = c(1,
16, 30, 17, 2), hogN = c(0, 0, 0, 0, 0)), row.names = c(NA, -5L
), class = c("tbl_df", "tbl", "data.frame"))
# A tibble: 5 x 4
Reference NODCCODE Number hogN
<chr> <chr> <dbl> <dbl>
1 BBM101 8835020301 1 0
2 BBM102 8835400201 16 0
3 BBM102 8835430200 30 0
4 BBM103 8835430401 17 0
5 BBM103 8837010102 2 0
КОНЕЦ РЕЗУЛЬТАТА:
structure(list(Reference = c("BBM101", "BBM102", "BBM103"),
NODCCODE = c("8835020301", "8835430200", "8835430401"),
Number = c(1, 30, 17), hogN = c(0, 0, 0)),
row.names = c(NA, -3L), class = c("tbl_df", "tbl", "data.frame"))
# A tibble: 5 x 4
Reference NODCCODE Number hogN
<chr> <chr> <dbl> <dbl>
1 BBM101 8835020301 1 0
2 BBM102 8835430200 30 0
3 BBM103 8835430401 17 0
Пожалуйста, дайте мне знать, если нужно больше начальных строк. Я старался держать его очень простым c.
Я пробовал много способов, включая
df2 <- bionum[order(bionum$Reference, bionum$NODCCODE=="8835430200"),]
de.duped <- df2[!duplicated(df2$Reference),]
Я получаю правильное количество ссылочных номеров, но это ставит мой целевой номер последним в Группа ссылок и сохранение первого экземпляра каждой ссылки, поэтому выходные данные не содержат ЛЮБОГО целевого значения NODCCODE.
Могу ли я получить его для сортировки моего целевого NODCCODE наверх в пределах ссылочного номера? Затем оставшаяся часть кода, которую я пытаюсь сохранить, сохранит первый экземпляр этого NODCCODE.
Я также просмотрел все другие связанные посты, которые могу найти, и просто не могу найти пути к этому. .