【问题标题】:R perform a dataframe join by replicating a feature set by some ID [duplicate]R通过复制某个ID的特征集来执行数据帧连接[重复]
【发布时间】:2020-10-01 16:55:20
【问题描述】:

下面的例子最能说明问题。

我想得到“想要的”结果。

欢迎任何有效的 R 方法。

df1 = data.frame(id = c(1:6), feature1 = c("class1", "class2", "class3", "class4", "class5", "class6"))
df2 = data.frame(id = c(2, 2, 2, 4, 6), feature2 = c("a", "b", "c", "d", "e"))

desired <- data.frame(id = c(2, 2, 2, 4, 6), feature2 = c("a", "b", "c", "d", "e"), feature1 = c(rep("class2", 3), "class4", "class6"))

> df1
  id feature1
1  1   class1
2  2   class2
3  3   class3
4  4   class4
5  5   class5
6  6   class6
> df2
  id feature2
1  2        a
2  2        b
3  2        c
4  4        d
5  6        e
> desired
  id feature2 feature1
1  2        a   class2
2  2        b   class2
3  2        c   class2
4  4        d   class4
5  6        e   class6

【问题讨论】:

标签: r join merge


【解决方案1】:

这行得通吗?

> merge(df2, df1)
  id feature2 feature1
1  2        a   class2
2  2        b   class2
3  2        c   class2
4  4        d   class4
5  6        e   class6


> df2 %>% inner_join(df1)
Joining, by = "id"
  id feature2 feature1
1  2        a   class2
2  2        b   class2
3  2        c   class2
4  4        d   class4
5  6        e   class6
> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-12
    • 2020-12-05
    • 2017-08-06
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 2019-10-08
    相关资源
    最近更新 更多