Соедините два фрейма данных - PullRequest
0 голосов
/ 13 января 2019

У меня есть два фрейма данных:

  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 голосов
/ 13 января 2019

Попробуйте: вы можете переклассифицировать.

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")
0 голосов
/ 13 января 2019

Если я правильно понимаю конечный результат, вы можете использовать базу merge:

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

Вы также можете использовать в трубах с:

df3 <- df1 %>% 
  merge(df2, by = "material")
0 голосов
/ 13 января 2019

Вы можете попробовать:

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

Здесь я предполагаю, что у вас есть несколько повторяющихся значений в B. С предоставленными вами данными код работает нормально; Я не вижу материалов, упомянутых несколько раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...