R基于列合并2个表

R基于列合并2个表,r,merge,dataframe,R,Merge,Dataframe,我在R中有两个包含3列的数据帧: df1 <- data.frame("Gene"=c("Myc", "Rad", "Meg", "Cdc"), "Meth"=c(13, 62, 62, 79), "Exp"=c(-4.2, 1, 0.9, -2)) df2 <- data.frame("Gene"=c("Rad", "Gnas", "Meg", "Klm"), "Meth"=c(54, 13, 05, 84), "Exp"=c(-3.2, 0, 3.9, -2)) df1您可以使

我在R中有两个包含3列的数据帧:

df1 <- data.frame("Gene"=c("Myc", "Rad", "Meg", "Cdc"), "Meth"=c(13, 62, 62, 79), "Exp"=c(-4.2, 1, 0.9, -2))
df2 <- data.frame("Gene"=c("Rad", "Gnas", "Meg", "Klm"), "Meth"=c(54, 13, 05, 84), "Exp"=c(-3.2, 0, 3.9, -2))

df1您可以使用
merge
(也可以查看一下):

?合并可以做到这一点

df3 <- merge(df1,df2, by = "Gene", all.x = TRUE)

df4 <- merge(df1,df2, by = "Gene")
df3
df3 <- data.frame("Gene"=c("Rad", "Meg"), "Meth"=c(62, 62), "Exp"=c(1, 0.9), "Meth2"=c(54, 05), "Exp2"=c(-3.2, 3.9))
> merge(df1, df2, by="Gene", all.x=T)
  Gene Meth.x Exp.x Meth.y Exp.y
1  Cdc     79  -2.0     NA    NA
2  Meg     62   0.9      5   3.9
3  Myc     13  -4.2     NA    NA
4  Rad     62   1.0     54  -3.2

> merge(df1,df2, by = "Gene")
  Gene Meth.x Exp.x Meth.y Exp.y
1  Meg     62   0.9      5   3.9
2  Rad     62   1.0     54  -3.2
df3 <- merge(df1,df2, by = "Gene", all.x = TRUE)

df4 <- merge(df1,df2, by = "Gene")