2012-04-24 10 views
1

大きいデータテーブルX(504x9)と小さいデータフレームbzShare(323X4)の両方が、列top.sectorsizeClassを持っています。今私はXの次元が(504x10)になるようにbzShareからXに値を結合したいと思います。インナーは、私は右ですが、私はいつもplyr R空の内部結合

> dim(X) 
[1] 504 9 
> names(X) 
[1] "sizeClass" "top.sector" "year" "period" "somevar" 
[6] "sumTest" "sumTestTotal" "AN" "share"      
> names(bzShare) 
[1] "top.sector" "sizeClass" "bzShare" 
> join(X,bzShare,type="inner",by=c("top.sector","sizeClass")) 
NULL data table 

なぜこの(504x10)データ・フレーム?

答えて

2
を取得できませんでした:-(ゼロの行を取得する場合、xとyの両方に一致するキーを持つ行のみを選択して参加します

2つのdata.framesまたは複数の行列が同じ列名を共有しているからといって、2つの共通のキーを持たない可能性があるため、他の要素との結合/結合がうまくいっているわけではありません。

あなたのbzShareオブジェクトが空ではないことを確認してください。ただしvaliを持っていますd列の名前(すなわち、私はdim(bzShare)の結果)と

スタート欠場:

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

を、あなたが各セットの交差点で何かを得るかどうかを確認します。

+0

ありがとう、私は働いた交差点を確認しました。今、私はちょうど2つを貼り付けて新しいIDカラムを追加してそれを修正しました。その後、それは動作します。 –