繁体   English   中英

加入两个数据帧

[英]Join two data frames

我有两个数据框:

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

但后来我多次使用所有材料。 我怎么解决这个问题?

你可以尝试:

left_join(A, B %>% distinct(), by="material")

在这里,我假设你在B有一些重复的值。 使用您提供的数据,代码运行良好; 我看不到多次提到的任何材料。

试试这个:你可以重新调整。

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

如果我正确理解了最终结果,那么你可以使用base merge

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

您还可以在管道中使用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM