У меня есть две таблицы, начало каждого из них приведены ниже:Как сравнить две таблицы, основанные на изменяющемся спецификации
Таблица 1: Все ОНП
SNp Gene
rs1798922 ENSG00000167634
rs4677723 ENSG00000167634
rs1609823 ENSG00000104450
rs11597390 ENSG00000104643
rs7824557 ENSG00000104643
rs1371867 ENSG00000104450
Таблица 2: Лучший SNP на ген
SNP Gene
rs1371867 ENSG00000104450
rs7824557 ENSG00000104643
rs1671152 ENSG00000167634
rs11597390 ENSG00000095485
rs285757 ENSG00000185442
в таблице 1 приведен список генов с их соответствующим ОНПОМ. Как видно, один и тот же ген повторяется во многих местах таблицы.
Таблица 2 является результатом после фильтрации через все ОНП для каждого гена в таблице 1, и сохраняет только один СНП за гена (держит лучший SNP в соответствии с р-значение, хотя это не имеет значения Вот).
Иными словами, в таблице 1 есть некоторые SNP, которые не включены в таблицу 2, так как в таблице 2 поддерживается только лучший SNP для каждого гена.
Для каждый ген, я хочу использовать R для сравнения двух таблиц и вывода обратно SNP, которые не были включены в таблицу 2 для этого гена. Таким образом, спецификация для сравнения - это имя гена, которое будет меняться постоянно, так как в таблице много генов.
спасибо, что это сработало! есть ли способ объединить результат для каждого гена? этот результат дает мне гены не по порядку, но, чтобы быть легким на глазах, могу ли я заказать выход этого кода по имени гена? поэтому один и тот же ген появится один за другим без разного гена, прерывающего порядок. – zfz
+1 - Я сильно переутомил свой ответ на этот вопрос. Хороший. @zfzhao посмотреть 'порядок', например. 't3 <- подмножество (t1,! (t1 $ SNp% в% t2 $ SNP)); t3 <- t3 [order (t3 $ Gene, t3 $ SNP),] ' –
благодарит :-) Извините еще одно, есть ли способ НЕ включать ** общий ** SNP для каждого гена между двумя таблицами? Этот код дает мне все SNP для каждого гена между двумя таблицами, но я просто хочу, чтобы SNP отсутствовали в таблице 2 по сравнению с таблицей 1 для каждого гена. – zfz