【发布时间】:2017-04-19 15:14:17
【问题描述】:
我需要合并两个数据框 x 和 y,它们有大约 50 列共同和一些独特的列,我需要保留 中的所有行x.
如果我运行它会起作用:
NewDataframe <- merge(x, y, by=c("ColumnA", "ColumnB", "ColumnC"),all.x=TRUE)
问题是公共列有50多个,我宁愿避免输入所有公共列的名称。
我试过了:
NewDataframe <- merge(x, y, all.x=TRUE)
但是出现如下错误:
Error in merge.data.table(x, y, all.x = TRUE) :
Elements listed in `by` must be valid column names in x and y
有没有什么方法可以将by 与公共列一起使用而无需键入所有这些列,但保留 x 中的所有行?
谢谢。
【问题讨论】:
-
你试过
dplyr::left_join吗?那应该可以在一个命令中完成您想要的所有操作。