R 提供空数据集结果的合并函数
我有两个数据集,一个有1359个可观测值,另一个有136个。两者都有相同的变量“city”和“state”,我已经确定城市和州的名称在两个数据集中写得完全相同。问题是,当我在R上使用merge函数时,它给了我一个空数据集R 提供空数据集结果的合并函数,r,merge,R,Merge,我有两个数据集,一个有1359个可观测值,另一个有136个。两者都有相同的变量“city”和“state”,我已经确定城市和州的名称在两个数据集中写得完全相同。问题是,当我在R上使用merge函数时,它给了我一个空数据集 blm_pb <- merge(blm_df, pb1, by= c("city","state")) blm_pb问题在于列具有前导/后导空格。一个选项是首先使用trimws nm1 <- c("city&quo
blm_pb <- merge(blm_df, pb1, by= c("city","state"))
blm_pb问题在于列具有前导/后导空格。一个选项是首先使用trimws
nm1 <- c("city","state")
blm_df[nm1] <- lapply(blm_df[nm1], trimws)
pb1[nm1] <- lapply(pb1[nm1], trimws)
默认情况下,合并
执行内部联接。如果我们想要得到一个完整的连接,其中包括两个数据集中by
列的完整并集,它将在不匹配的地方显示NA
blm_pb_full <- merge(blm_df, pb1, by= c("city","state"), all = TRUE)
blm\U PBU full请检查名称(blm\U df)
和名称(pb1)
。可能有超前/滞后的spacesHello@akrun,我检查:名称(blm_df)
给出:“城市”“州”“TotalPop”“PovertyRate”和名称(pb1)
返回:“城市”“州”“总计”。在这种情况下,这些列中可能没有匹配的值。默认情况下,merge
内部连接是否可以检查相交(粘贴(blm_df$city,blm_df$state),粘贴(pb1$city,pb1$state))
相交(粘贴(blm_df$city,blm_df$state),粘贴(pb1$city,pb1$state))
给出:字符(0)。奇怪的是,它没有找到匹配项,因为我可以在两个数据库中看到,例如city:Portland和state:Oregon谢谢你的帮助!现在它正在合并,但是有没有一种方法我仍然可以合并,但是没有匹配的观测值由NA放置在添加的新列中?@rauls_uuuu默认情况下,它是一个内部连接。您可以使用all=TRUE
即合并(blm_df,pb1,by=c(“城市”,“州”),all=TRUE)
返回默认为NA的不匹配项
blm_pb_full <- merge(blm_df, pb1, by= c("city","state"), all = TRUE)