2016-06-27 11 views
0

データフレームは2セットあります。以下はそれぞれの最初の5行です。は、Rの異なるデータフレームの1つまたは2つの列のみをマージします

First Data frame Name: sampel_sort 
name        id   supplier usage 
ABC        10000079 811121  1 
DEF        10000182 541513  4 
Supplier C      10000484 531110  1 
Supplier D      10000523 541320  1 
Supplier E      10000592 524210  1 
Supplier F      10012711 237110  1 

Second data frame Name: MBE 
    id State total CATEGORY 
10000070 MD  5  MBE 
10000182 PR  14  MBE 
10000484 TX  1  MBE 
10000526 MI  3  MBE 
10000592 FL  1  MBE 
10000680 ID  14  MBE 

実際のデータセットにはさらに多くの列があります。私は2つのデータフレームを結合したいが、カテゴリ列だけをインポートしたい。次のマージステートメントが機能します。

ncombined <- merge(x = sample_sort, y = MBE, by = "id", all.x = TRUE) 

しかし、これは私にMBEデータセットのすべての列を与えます。私はさまざまな方法で(カテゴリ列だけがインポートされるように)以下を試しました。しかし、私は運がない。次のように一意に有効な列を指定する必要があります

'で' 最終的な結果は次のようになります。:

私はエラーにfix.byで

ncombined <- merge(x = sample_sort, y = MBE[,c("CATEGORY")], by = "id", all.x = TRUE) 

エラー(by.y、y)を取得します

First Data frame Name: sample_sort 
name        id   supplier usage CATEGORY 
ABC        10000079 811121  1  MBE 
DEF        10000182 541513  4  MBE 
Supplier C      10000484 531110  1  MBE 
Supplier D      10000523 541320  1  MBE 
Supplier E      10000592 524210  1  MBE 
Supplier F      10012711 237110  1  NA 
+0

まず、あなたの質問を読めるように少し努力してください。私は、コードであるべきものと解説とは何なのかについての手がかりはない。次に、 'cbind()'がうまくいくかもしれませんか?再度、あなたの質問を読んで理解することは本当に難しいです。 –

+0

'CATEGORY'だけを選択しているとき、どのように' id'でマージすると思いますか? – ytk

+0

'CATEGORY'カラムのみを含むように' MBE'をサブセット化すると、マージする 'id'カラムがなくなります – moman822

答えて

0

例えば

ncombined <- merge(x = sample_sort, y = MBE[,c(1:4)], by = "id", all.x = TRUE) 
、マージする前に列を取り出す試しください
関連する問題