基于k-1个公共列值合并两个数据集

时间:2016-03-30 01:07:04

标签: r

我试图找出如何以这样的方式合并两个数据帧:如果k-1列中的两个数据集的值相同,则将公共k-1列与其他2个非公共列组合成一个数据集?

谢谢!

df1 <- data.frame(X1 = c('+'), X2 = c('+'), X3 = c('O'))
df1

df2 <- data.frame(X1 = c('+'), X2 = c('+'), X3 = c('X'))
df2

预期

df12 <- data.frame(X1 = c('+'), X2 = c('+'), X3 = c('O'),X4 = c('X')) 
df12

1 个答案:

答案 0 :(得分:0)

df12 <- merge(df1, df2, by=c("X1", "X2"))
names(df12)[3:4] <- paste0("X", 3:4)

有关详细信息,请参阅merge的帮助手册。在R控制台中输入“?merge”。