Inner_join () добавление строк вместо уникальных строк - PullRequest
0 голосов
/ 02 мая 2019

Я обеспокоен тем, что что-то не так с моей R / Rstudio. Я пытаюсь сделать inner_join(), чтобы получить пересечение мужских и женских имен детей из пакета babynames, но вижу, что мой inner_join() больше моего подмножества для мужских имен со следующим кодом:

library(babynames)
library(dplyr)

malenames <- babynames %>%
  filter(sex=="M")
girlnames <- babynames %>%
  filter(sex=="F")

names <- inner_join(girlnames, malenames, by ="name")

Чтобы уточнить, я вижу строки для 786372 строк для названий и 1138293 строк для имен девочек. Что может быть не так? Заранее благодарим вас за руководство.

1 Ответ

2 голосов
/ 02 мая 2019

Вам необходимо объединиться как по имени, так и по году, в противном случае каждая пара (год, имя) в girlnames сопоставляется с каждой строкой с соответствующим именем в malenames:

names <- inner_join(girlnames, malenames, by = c("name", "year"))
...