сопоставить два файла на основе одного столбца с повторяющимися именами - PullRequest
0 голосов
/ 12 января 2019

Я указал два вектора в R: dif и df2

диф

            TX_NAME   baseMean log2FoldChange    lfcSE      stat       pvalue
1  ENSMUST00000189941.1 2924.12770      -11.52662 1.225415 -9.406295 5.139318e-21
2  ENSMUST00000174759.7   87.20515      -22.23962 2.848984 -7.806160 5.895654e-15
3  ENSMUST00000202220.3 1858.64629      -13.83620 1.769124 -7.820928 5.243522e-15
4 ENSMUST00000064151.12   81.87098      -22.15462 2.849401 -7.775185 7.533750e-15
5  ENSMUST00000139264.1  100.04720      -22.42838 2.851911 -7.864335 3.710619e-15
6  ENSMUST00000080115.9   84.68359      -22.20991 2.848771 -7.796313 6.374197e-15
          padj
1 6.380052e-16
2 8.319140e-11
3 8.319140e-11
4 8.319140e-11
5 8.319140e-11
6 8.319140e-11

и

df2

TX_NAME          NAME                    
1: ENSMUST00000193812.1 RP23-271O17.1                  
2: ENSMUST00000082908.1       Gm26206                
3: ENSMUST00000162897.1          Xkr4 
4: ENSMUST00000159265.1          Xkr4 
5: ENSMUST00000070533.4          Xkr4       
6: ENSMUST00000192857.1 RP23-317L18.1 

Я не знаю, как сопоставить их на основе TX_NAME и NAME, и отличается от TX_NAME и связанных с ним NAME из df2. Я не могу объединить их, потому что NAME в df2 имеет дубликаты

1 Ответ

0 голосов
/ 12 января 2019

Более подробное обсуждение слияния фреймов данных здесь . Если вы хотите проверить документацию, обратитесь к Объединение данных или Объединение двух фреймов данных .

Итак, вы можете сделать слияние как:

merge(dif, df2, by="TX_NAME")

Но вы потеряете строки, которые не появляются в обоих фреймах данных. Итак, если вы хотите заполнить пустые ячейки с помощью NA, вы можете использовать его:

merge(dif, df2, by="TX_NAME", all=TRUE)

Хорошая работа!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...