【发布时间】:2013-10-18 14:21:43
【问题描述】:
我是新来的,已经在论坛中搜索了我的问题,但没有找到解决方案。 我有两个数据框,我想在一个公共关键字段上合并。
merge(x
,y
,by.x="a"
,by.y="b"
,all.x=T
,sort=F
)
由于我的 x-Dataframe 的行数比 y-Dataframe 的多,我想保留 x 中的所有行,y 中的列 NA,但 x 中的列中的所有值。此代码仅为所有列(来自 x 和 y 的列)中具有 NA 的不匹配案例提供额外的行。如果有人可以帮助我,我将不胜感激?我的错在哪里?
例子:
a = data.frame(c(111,222,333,444),c(1,5,3,8))
b = data.frame(c(111,222),c(0.1,0.4))
colnames(a)=c("code","value")
colnames(b)=c("code","value")
c = merge(a
,b
,by="code"
,all.x=T)
在这个例子中它工作正常。在我的数据中,我在第 3 行和第 4 行的所有列中都获得了 NA。
希望你能理解我这个糟糕的例子?!
谢谢! 杰西卡;)
【问题讨论】:
-
欢迎来到 SO。请提供可重现的示例,以便我们更轻松地找到您的问题。
-
如果您在
x数据集中匹配的列(示例数据集中的code)存在缺失值 (NA),则可能会发生这种情况。是这样吗? -
不,我刚刚检查过。任何一个匹配列中都没有 NA...