☰
data.table 大表按两列去重并逐列取首个非缺失值
2026/10/27 17:21:48 网站建设 项目流程

按两个字段做去重时,往往还要把同组的其它列合并进来: 每列取该组内第一个非缺失的值,如果整组都是缺失值就保持缺失。数据量到了几百万行、几 GB 文件的规模,常规写法会直接卡住。

问题现象

输入数据形如:

ID HFAdmission link_type ADMIDATE newdate 1 A 2020-01-01 Linked <NA> <NA> 2 A 2020-02-01 HF only 2020-02-01 2020-02-01 3 A 2020-03-01 HF only <NA> 2020-03-01 4 A <NA> HES only 2020-03-01 2020-03-01 5 A <NA> HES only 2020-04-01 2020-04-01 6 B 2020-06-01 Linked <NA> <NA> 7 B 2020-07-01 HF only 2020-07-01 2020-07-01 8 B <NA> HES only 2020-07-01 2020-07-01

按 ID 与 newdate 两列去重。第 3、4 行的 (A, 2020-03-01) 是重复键: HFAdmission 取第 3 行的值,ADMIDATE 取第 4 行的值,link_type 两者

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询