Я ищу эффективный способ удаления строк таблицы, где не пропущенные значения идентичны пропущенным значениям в другой строке. Рассмотрим этот поддельный пример:
library(tidyverse)
phony_genes <- tribble(
~mouse_entrez, ~mgi_symbol, ~human_entrez, ~hgnc_symbol,
1, "a", 2 , "A",
1, "a", 2 , NA,
1, NA, 2 , "A",
1, "a", 3 , NA,
4, "b", 3 , NA,
5, NA, 2 , "A"
)
Строка 2 является подмножеством строки 1, поскольку каждое не пропущенное значение в строке 2 такое же, как в строке 1. То же самое относится и к строке 3, но отличается значение отсутствует. Я ищу способ, который использует Tidyverse (или другие пакеты), чтобы отфильтровать строки 2 и 3, но сохранить другие строки. Я не могу отфильтровать значения NA
в hgnc_symbol
или mgi_symbol
, потому что в обоих случаях я потеряю строки, которые хочу сохранить. Я не могу сгруппировать по mouse_entrez
и отфильтровать значения NA
внутри групп, потому что я хочу сохранить строку 4. Этот простой пример, конечно, может быть расширен до огромного размаха. Я мог бы сделать это, написав что-то сам, но мне интересно, есть ли у кого-нибудь элегантное решение.