2016-08-16 2 views
0

次の値のデータセットをマージしようとしています。ここでの変数は、次のような別のデータセット:私が見ることを期待する何R、データセットをマージするキーの値を変更する

activities_raw <- 

activity_id 
5 
5 
3 
3 
4 
2 

activity_labels <- 

activity_id  activity_name 
1    WALKING 
2    WALKING_UPSTAIRS 
3    WALKING_DOWNSTAIRS 
4    SITTING 
5    STANDING 
6    LAYING 

である。しかし

activity_id  activity_name 
    5    STANDING 
    5    STANDING 
    3    WALKING_DOWNSTAIRS 
    3    WALKING_DOWNSTAIRS 
    4    SITTING 
    2    WALKING_UPSTAIRS 

、私が見たものさ何か全く違う実際、私が行っているマージは、私のレコードレベルのデータであるactivities_rawの値を変更するようです。私はこれを参照してください。

activity_id  activity_name 
    1    WALKING 
    1    WALKING 
    1    WALKING 
    1    WALKING 
    1    WALKING 
    1    WALKING 

私はここなど内部結合を試み、右の参加、参加左は、私の内面の一例であるに参加しました:

merge(activities_raw , activity_labels , by="activity_id") 

任意の助けをいただければ幸いです。

+0

あなたは '(activities_raw、= "ACTIVITY_ID"、all.y = TRUEによって、activity_labels)マージ'試してみましたか? –

+0

簡単に再現可能な例を作成するには、 'dput'を使用してください。 – agstudy

+0

表面には、うまくいくはずです。より深い問題を探るために、実際のデータセットのサンプルを用意すると便利です。 'dput(head(activity_labels))'と 'dput(head(activities_raw))'を行い、結果の出力を投稿できますか?これにより、一部のデータを直接操作することが可能になります。 – jdobres

答えて

0

mergeはここに正常に動作します:データがある

merge(xx2,xx1,sort=FALSE) 

# activity_id  activity_name 
# 1   5   STANDING 
# 2   5   STANDING 
# 3   3 WALKING_DOWNSTAIRS 
# 4   3 WALKING_DOWNSTAIRS 
# 5   4   SITTING 
# 6   2 WALKING_UPSTAIRS 

xx1 <- read.table(text="activity_id  activity_name 
1    WALKING 
2    WALKING_UPSTAIRS 
3    WALKING_DOWNSTAIRS 
4    SITTING 
5    STANDING 
6    LAYING",header=TRUE) 


xx2 <- read.table(text="activity_id 
5 
5 
3 
3 
4 
2",header=TRUE) 
関連する問題