下面的例子不言自明。
我想得到";期望的";结果
任何有效的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
>