r - R 中 dplyr 连接的重复警告
问题描述
我使用dplyr::left_join()
了很多,有时我没有注意到第二个表中的重复记录导致多个匹配项(以及一个主表的行数比我开始时更多)。
我很想知道 R 是否有办法在发生这种情况时发出警告消息。还是我只是懒惰?我是否应该更加小心以确保我不使用具有重复记录的表?
解决方案
一种方法是使用您自己的版本left_join
,在其中比较行数:
my_left_join <- function(x, y, ...){
res <- dplyr::left_join(x, y, ...)
if (nrow(res) > nrow(x)) warning("Duplicated records found")
return(res)
}
这种方式my_left_join
会引发警告:
a <- tibble(id = 1:3)
b <- tibble(id = c(1:3, 1), val = 7:10)
a %>% dplyr::left_join(b, by = "id")
a %>% my_left_join(b, by = "id")
推荐阅读
- apache - 如何在谷歌云平台的Ubuntu上打开端口
- php - 具有 WooCommerce 管理订单页面的多个自定义字段的 Metabox
- matlab - 为什么随着散射体数量的变化,我会得到不一致的图形(不是按要求线性递减)?
- excel - VBA Excel将单元格范围复制到外部工作簿
- amazon-web-services - 使用 s3 事件触发 Lambda 时出现问题
- angular - 我在哪里可以找到 angular + ngrx 应用程序的应用程序演示“英雄”?
- spring - 如何在 Spring 安全 Java 配置中最好地组织 URL 授权
- firebase - Xamarin.Firebase.Auth 71.1605.0 和 Xamarin.Android.Arch.Work.Runtime 1.0.0.3 兼容性问题
- json - 如何测量 JSON 属性读取性能?
- javascript - 使用 Emailjs 时,我没有在收件箱中收到表单输入信息