连接两个数据框

时间:2019-01-13 12:39:24

标签: r dataframe join

我有两个数据框:

  customer material Freq
1  1       12       1
2  1       10       1
3  1        8       1
4  1        4       1
5  1        3       1
6  1        2       1

和第二个:

  material class
1 12       A
2 10       B
3 3        C
4 4        D
5 5        E
6 6        F

现在我要合并两个数据帧。我尝试过:

e <- left_join(A, B, by="material")

但是我所有的材料都多次出现了。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

您可以尝试:

SCSSStyleSheet:*scss

在这里我假设您在left_join(A, B %>% distinct(), by="material") 中有一些重复的值。使用您提供的数据,代码可以正常运行;我看不到多次提到的任何材料。

答案 1 :(得分:1)

尝试一下:您可以重新分类。

library(tidyverse)
#df1$material<-as.factor(df1$material)
#df2$material<-as.factor(df2$material)
#df2$class<-as.character(df2$class)
df1 %>% 
  left_join(df2,by="material")

答案 2 :(得分:1)

如果我正确理解最终结果,则可以使用基础merge

df3 <- merge(df1, df2, by = "material")

您还可以在带有:的管道中使用

df3 <- df1 %>% 
  merge(df2, by = "material")