R,合并数据集更改关键值

时间:2016-08-16 18:00:24

标签: r merge

我正在尝试合并以下值数据集,这是一种维度化的。这里的变量是

activity_labels <- 

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

使用另一个类似于以下内容的数据集:

activities_raw <- 

activity_id
5
5
3
3
4
2

我期望看到的是:

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")

非常感谢任何帮助。

1 个答案:

答案 0 :(得分: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)