我担心我的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行。可能出什么问题了?在此先感谢您的指导。
答案 0 :(得分:2)
您需要同时输入名称和年份,否则girlnames
中的每对(年份,名称)都将与每行匹配,并且在malenames
中具有匹配的名称:
names <- inner_join(girlnames, malenames, by = c("name", "year"))