Как определить уникальные данные между двумя фреймами данных - PullRequest
0 голосов
/ 27 марта 2019

Извините, если название не лучшее. Я не уверен, как правильно это сформулировать.

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

filtered <- df1 %>%
    filter(gene.name %in% df2$V1)

Так что мне не хватает некоторых данных, которые меня интересуют. Мне было интересно, есть ли способ сравнить новый df с именем filtered с df2 с каким-то кодом, который отмечает уникальную разницу? Большая часть фрейма данных filtered будет такой же, как df2, но у df2 будут просто неправильные имена генов. Причина, по которой я хочу это сделать, заключается в том, что я хочу вернуться и исправить имена генов. Я df1 и df2 намного больше, чем примеры, поэтому не легко поймать.

Вот пример того, что я говорю, так что, возможно, это будет иметь больше смысла

df1

gene.name ADCY1 ADCY2 ADCY3 ADCY4

df2

gene.name AC1 ADCY2 AC3 ADCY4

фильтруется

gene.name ADCY2 ADCY4

1 Ответ

1 голос
/ 08 апреля 2019

Еще один интересный способ получить не встроенную функциональность - написать небольшую функцию, например

'%notin%' <- function(x,y)!('%in%'(x,y))

Тогда вы сможете получить хороший ответ:

unique_differences<-df2 
    %>% filter(gene.name %notin% unlist(df1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...