如果R中同一行上存在重复值,如何删除行

时间:2018-09-28 00:21:37

标签: r duplicates

我有一个名为overlaps的数据框,其列名为sp_asp_b。如果在同一行中重复相同的物种,我想删除整行。有什么建议吗?

所以我要删除第3和第4行

2 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

overlaps[!duplicated(overlaps[c("sp_a","sp_b")]),]

答案 1 :(得分:0)

因此,您要删除sp_a的值与sp_b的值相同的行吗?

head(mtcars)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

您可以使用filter软件包中的dplyr一行完成此操作。下面的代码过滤数据集,仅保留gear != carb处的行(删除前两行):

head(mtcars) %>%
    dplyr::filter(gear != carb)

   mpg cyl disp  hp drat    wt  qsec vs am gear carb
1 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
2 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
3 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
4 18.1   6  225 105 2.76 3.460 20.22  1  0    3    1