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