plyr空内连接

plyr空内连接,r,join,gnu,plyr,R,Join,Gnu,Plyr,我得到了一个大数据表X(504x9)和一个较小的数据框bzShare(323X4),这两个数据框的列都是top.sector和sizeClass。现在我想把bzShare中的一个值加入X中,这样X的维数为(504x10)。如果我是对的,则内部联接仅选择在x和y方向上具有匹配键的行,但我始终得到零行:-( 为什么没有得到一个(504x10)数据帧?仅仅因为两个数据。帧或矩阵共享相同的列名,并不意味着它们会很好地连接/合并,因为它们之间可能没有任何公共键,这将是像您描述的那样的内部连接情况的典型结果

我得到了一个大数据表
X
(504x9)和一个较小的数据框
bzShare
(323X4),这两个数据框的列都是
top.sector
sizeClass
。现在我想把
bzShare
中的一个值加入
X
中,这样
X
的维数为(504x10)。如果我是对的,则内部联接仅选择在x和y方向上具有匹配键的行,但我始终得到零行:-(


为什么没有得到一个(504x10)数据帧?

仅仅因为两个
数据。帧或矩阵共享相同的列名,并不意味着它们会很好地连接/合并,因为它们之间可能没有任何公共键,这将是像您描述的那样的内部连接情况的典型结果

还要检查
bzShare
对象是否为空,尽管它具有有效的列名(即,我错过了
dim(bzShare)

首先:

count(X$top.sector %in% bzShare$top.sector)
count(X$sizeClass %in% bzShare$sizeClass)

然后看看你在每一组交叉点上都能得到什么。

谢谢,我检查了有效的交叉点。现在我只是通过粘贴两个交叉点来添加一个新的id列来修复它。然后它就有效了。
count(X$top.sector %in% bzShare$top.sector)
count(X$sizeClass %in% bzShare$sizeClass)