r - 合并数据并接收大量数据丢失

标签 r merge duplicates

我一直在准备我的数据,但不知何故合并我的数据集后我的数据少了。

由于我的数据中没有经度和纬度,因此我在下载软件包后一直使用以下代码 邮政编码 ( tel1 是我的包含邮政编码的数据)

merge <- merge(zipcode,tel1,by.x=c('zip'),by.y=c('zip_code'))

在合并之前我有 195956 个观察值,而合并后它下降到 180090,但我不明白为什么。

在我看来,我只是将它们合并到了 zip等于 zip_code我将数据集邮政编码中的信息添加到我的文件夹 tel1

之后我想删除包含 NA 的行,因为合并无法定义任何数字或其他任何内容。我用了这个代码
final <- result[complete.cases(result),]

然后我的观察数量下降到 51006,我简直不敢相信。我的数据中不可能有这么多的不匹配。

我应该使用任何其他代码吗?

之后我一直在尝试使用代码删除重复项
 last <- with(final,final[order(state,latitude,longitude),])

但观察的数量是一致的(51006)。

我做错了什么,或者有没有办法在合并数据后再次将我的数据放入 excel 文件中,以便我可以手动检查是否真的有这么多不匹配?
谢谢

最佳答案

可以用all论据 merge .

merge(zipcode, tel1, by.x='zip', by.y='zip_code', all.y=TRUE)

但是,对于在邮政编码数据中找不到匹配项的行,将出现 NA s。因此,如果您然后 na.rm或类似的东西,你最终会遇到同样的“数据丢失”

检查合并后经纬度列中有 NA 的行的邮政编码:
tel1[is.na(tel1$latitude) | is.na(tel1$longitude),]

我的猜测是它们不是有效的邮政编码,或者您拥有的邮政编码列表不完整。

关于r - 合并数据并接收大量数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12936556/

相关文章:

r - 在代码中使用 Markdown Shiny 参数,而不仅仅是在图形生成中

tfs - 如何仅合并 TFS 中更改集中的选定文件

java - 用于删除字符串数组中重复项的内置方法

java - 克隆 JavaFX 节点?

java - 打印数组中不同的整数

R - 按组应用 adf.test

r - 从数据框中成对的重复删除

r - R 中整洁/高效的函数编写(垃圾收集)

如果 id = 相同,mysql 合并行

java - 比较并合并java中的两个列表列表,生成最终的列表列表