我正在尝试从数据框中删除错误的重复项,其中重复行(例如下面的患者ID 1和3)中没有任何信息(NA)。
需要删除的重复项总是在该对中首先出现,因此我正在考虑以某种方式使用该信息删除它们。
简化了下面的数据以减少问题(注意:我正在寻找一个可以删除大型数据集中的多个重复项而不必手动识别它们的函数):
到目前为止,我一直在尝试处理以下代码:
test <- ea2[!duplicated(ea2[,c("PatientID", "SessionDate2")]),]
但是这当然只是删除了患者ID 1和3的第二个重复行,我需要将其保留在数据集中。
答案 0 :(得分:0)
需要删除的重复项始终在该对中首先出现
不建议依赖传入的行顺序,因为它可能会改变,尤其是在pulling from a database时。
您是否可以删除没有价值信息的行,然后使用您的duplicated()
代码?如果是这样,我喜欢tidyr::drop_na()
。
ea2 <- tidyr::drop_na(ea2, PatientID)
ea2 <- tidyr::drop_na(ea2, SessionDate2)