【发布时间】:2018-12-05 07:02:01
【问题描述】:
我正在使用 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
.........(表格继续)
【问题讨论】:
标签: r dataframe dplyr inner-join