r-给出空数据集结果的合并函数



我有两个数据集,一个有1359个可观测值,另一个有136个。两者都有相同的变量"城市"one_answers"州",我已经确信两个数据集中的城市和州名称完全相同。问题是当我在R上使用merge函数时,它给了我一个空的数据集

blm_pb <- merge(blm_df, pb1, by= c("city","state"))

问题是列有前导/滞后空间。一种选择是首先用trimws删除空格

nm1 <- c("city","state")
blm_df[nm1] <- lapply(blm_df[nm1], trimws)
pb1[nm1] <- lapply(pb1[nm1], trimws)

现在,merge代码应该可以使用

blm_pb <- merge(blm_df, pb1, by= c("city","state"))

默认情况下,merge执行内部联接。如果我们想获得一个完整的联接,它包括来自两个数据集的两个by列的并集,并且它将显示没有匹配的NA

blm_pb_full <- merge(blm_df, pb1, by= c("city","state"), all = TRUE)

如果我们需要左联接,请使用all.x = TRUE,对于右联接,则使用all.y = TRUE

最新更新