У меня есть набор данных с первичным ключом, который называется ID. Первичный ключ дублируется в нескольких строках. Дублирующие строки содержат различное количество недостающей информации, представленной в виде NA.
Я хочу сгруппировать по идентификатору первичного ключа, а затем сохранить запись, содержащую наибольшее количество информации и наименьшее количество NA.
Я получил код ниже, чтобы получить grouped_by для дубликатов, но я изо всех сил пытаюсь удалить строки с большинством NA.
С данными, приведенными ниже, я хотел бы сохранить первую строку, отбрасывая вторую и третью, поскольку в них пропущено больше значений, чем в первой строке.
В строке 1 отсутствует только 1 значение, и его следует сохранить, в то время как в строках 2-3 отсутствуют значения 2 и 3 соответственно.
dupes = df %>%
group_by(ID) %>%
filter(n()>1)
ID Product Cost Date Name State
1 X NA 2019 John CA
1 NA 15 NA Bill GA
1 NA NA 2019 NA CA
2 Y 15 2019 Chris CA