我需要合并两个数据帧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 中的所有行?
谢谢你。
我认为您有数据表而不是简单的数据框,并且合并在两者之间的工作方式略有不同。您可以尝试强制它使用 dataframe 方法,方法是使用NewDataframe <- merge.data.frame(x, y, all.x=TRUE)
which should 默认合并所有共享列名称。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句