R通过复制某个ID的特征集来执行数据帧连接



下面的例子不言自明。

我想得到";期望的";结果

任何有效的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

这行得通吗?

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

最新更新