r - 如何根据重复的日期和 ID 删除数据框行
问题描述
我正在尝试从我的数据框中删除一个错误的重复项,其中重复的行(例如下面的患者 ID 1 和 3)没有任何信息 (NA)。
需要删除的重复项总是首先出现在这对中,所以我正在考虑以某种方式使用该信息来删除它们。
已经简化了下面的数据以稍微减少问题(注意:我正在寻找一个可以在大型数据集中删除多个重复项而无需手动识别它们的函数):
到目前为止,我一直在尝试处理以下代码:
test <- ea2[!duplicated(ea2[,c("PatientID", "SessionDate2")]),]
但这当然只是删除了患者 ID 1 和 3 的第二个重复行,我需要将其保留在数据集中。
解决方案
需要删除的重复项总是首先出现在对中
不建议依赖传入的行顺序,因为它可能会发生变化,尤其是从数据库中提取时。
您能否删除包含无价值信息的行,然后使用您的duplicated()
代码?如果是这样,我喜欢tidyr::drop_na()
。
ea2 <- tidyr::drop_na(ea2, PatientID)
ea2 <- tidyr::drop_na(ea2, SessionDate2)
推荐阅读
- javascript - Meteor 应用程序上 React JS 中的访问控制允许来源
- javascript - 如何使用react js过滤html表的所有列?
- angular - 如何在按钮单击时添加新功能
- angular - 如何在 Angular 材料 6 表中使用 colspan 和 ngFor?
- elasticsearch - 使用java客户端Api时如何将_delete_by_query限制为单一类型
- django - 在 Eclipse 中运行 django 服务器时出错
- c++ - 将 c++ 结构转换为 c# 结构。错误输出
- sql-server-2012 - Codeigniter 到使用 XAMPP 的 SQL-Server 连接
- ruby-on-rails - 处理事务内的唯一约束异常
- html - 为日期创建范围滑块