Я работаю с R Studio версии 1.0.143.
Я хотел бы создать новый фрейм данных, который включает в себя только строки, которые являются общими как минимум для двух фреймов данных из нескольких фреймов данных. Проблема в том, что я должен знать, где находятся общие данные!
Я пытаюсь использовать следующий код, но некоторые значения не распознаются как общие!
library (readxl)
library(tidyverse)
df1 <- read_excel("Sample 1.xlsx")
df2 <- read_excel("Sample 2.xlsx")
df3 <- read_excel("Sample 3.xlsx")
lst(df1,df2,df3) %>%
bind_rows(.id='df') %>%
filter(GENE %in% unique(GENE[duplicated(GENE)])) %>%
mutate(df2=df) %>%
spread(df,df2) -> final
Пример следующий:
data.frame 1
SITE GENE
UTR3 MRPL30
UTR3 CASP10
exonic PPIL3
UTR3 ZNF154
exonic MET10
UTR3 CRCP
UTR3 CYP20A1
UTR3 PDDC1
UTR3 MET10
data.frame 2
SITE GENE
UTR3 ZNF154
UTR3 MET10
UTR3 EFHC1
UTR3 SLC11A2
UTR3 SNX22
UTR3 MET10
data.frame 3
SITE GENE
UTR3 KIAA1143
UTR3 AAK1
UTR3 EFHC1
UTR3 MET10
UTR3 METTL7A
UTR3 MET10
Результат:
окончательный
Site Gene df1 df2 df3
UTR3 KIAA1143 NA NA df3
UTR3 AAK1 NA NA df3
UTR3 ZNF154 df1 df2 NA
UTR3 MET10 df1 NA NA
UTR3 MET10 NA df2 NA
UTR3 MET10 NA NA df3
......... (таблица продолжается)
Как видите, MET10 присутствует во всех примерах, но код не дает правильного результата!
Я ожидал бы следующее:
Site Gene df1 df2 df3
UTR3 KIAA1143 NA NA df3
UTR3 AAK1 NA NA df3
UTR3 ZNF154 df1 df2 NA
UTR3 MET10 df1 df2 df3
......... (таблица продолжается)