【问题标题】:remove any rows with duplicates [duplicate]删除任何重复的行[重复]
【发布时间】:2017-11-22 11:07:39
【问题描述】:

假设我有一个如下所示的数据框(我们称之为 df)。我正在尝试根据给定列(df$car)删除给定数据框中的所有重复项。

options(stringsAsFactors=F)
car <- c('car1', 'car2', 'car2', 'car3', 'car4', 'car4', 'car4', 'car5', 'car6', 'car6')
location <- c(111,345,345,123,678,678,678,432,232,232)
value <- c(1,1,1,1,2,2,2,2,4,4)
a <- c('AT','ATC','TAT','C','TT','TGGGG','GGC','CC','AA','AT')
b <- c('A', 'TAG','TAG','G','AA','AA','AA','GG','TT','TT')

df <- data.frame(car,location,value,a,b)


> df
    car    location value   a    b
 1  car1      111     1    AT    A
 2  car2      345     1   ATC  TAG
 3  car2      345     1   TAT  TAG
 4  car3      123     1     C    G
 5  car4      678     2    TT   AA
 6  car4      678     2 TGGGG   AA
 7  car4      678     2   GGC   AA
 8  car5      432     2    CC   GG
 9  car6      232     4    AA   TT
 10 car6      232     4    AT   TT

我想要的输出如下。我希望删除所有重复的列,而不仅仅是唯一值。

    car    location value   a    b
 1  car1      111     1    AT    A
 4  car3      123     1     C    G
 8  car5      432     2    CC   GG

请注意:我相信这是一个与过去发布的其他问题不同的问题。大多数问题都要求基于给定列的唯一行,但我要求即使这些行也被删除。如果这是重复的帖子,我很乐意关闭这个帖子——我只是还没有找到我要找的东西!谢谢你的帮助!

【问题讨论】:

标签: r dataframe duplicates


【解决方案1】:

如果可行,你可以试试:

  df[!(duplicated(df$car) | duplicated(df$car, fromLast = TRUE)), ]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 2018-04-07
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多