删除R中的重复行

时间:2014-03-27 19:44:08

标签: r duplicates

这是我在这里的第一篇文章,但我希望你可以帮助我解决这个问题,因为它正在努力!

我有一个包含大量数据(~250,000行)的csv文件,我需要删除重复的条目。每行中只有某些元素我想测试重复项,但其他数据需要在最终结果中显示。需要对Date,Lat和Lon列进行重复测试。例如,如果我从这些数据开始:

Date    Time    Mag Lat Lon Depth   Event
01/01/2008  01:38:25    1.04    35.5152 -120.8587   4.15    71091831
01/01/2008  01:44:27    0.84    38.8215 -122.8132   2.55    51193664
01/01/2008  01:46:59    0.48    38.8298 -122.811    2.44    51193666
01/01/2008  01:44:29    0.86    38.8215 -122.8132   2.76    51276634
01/01/2008  02:02:32    0.32    38.8193 -122.7968   5.86    51193667

它将删除第四行,因为它具有相同的Date,Lat和Lon作为第二行,因此输出将是:

Date    Time    Mag Lat Lon Depth   Event
01/01/2008  01:38:25    1.04    35.5152 -120.8587   4.15    71091831
01/01/2008  01:44:27    0.84    38.8215 -122.8132   2.55    51193664
01/01/2008  01:46:59    0.48    38.8298 -122.811    2.44    51193666
01/01/2008  02:02:32    0.32    38.8193 -122.7968   5.86    51193667

提前致谢!

汤姆

1 个答案:

答案 0 :(得分:0)

使用duplicated。假设您的数据为dat

> dat[!duplicated(dat[, c("Lat", "Lon")]), ]
        Date     Time  Mag     Lat       Lon Depth    Event
1 01/01/2008 01:38:25 1.04 35.5152 -120.8587  4.15 71091831
2 01/01/2008 01:44:27 0.84 38.8215 -122.8132  2.55 51193664
3 01/01/2008 01:46:59 0.48 38.8298 -122.8110  2.44 51193666
5 01/01/2008 02:02:32 0.32 38.8193 -122.7968  5.86 51193667