R语言 删除与某些列重复的行[duplicate]

7xzttuei  于 2023-02-26  发布在  其他
关注(0)|答案(2)|浏览(186)
    • 此问题在此处已有答案**:

How can I remove all duplicates so that NONE are left in a data frame?(3个答案)
R: how to remove duplicate rows by column [duplicate](2个答案)
昨天关门了。
我想识别并删除在某些方面重复的观察。
在我的示例中,我希望去掉第1行和第6行,因为它们在V1和V2中是相同的,它们在V3中的不同应该无关紧要。

df <- data.frame(V1 = c("a","b","c","a","c","a"),
                 V2 = c(1,2,1,2,3,1),
                 V3 = c(1,2,3,4,5,6))

应用dplyr::distinct(df, V1, V2)会导致第6行被丢弃,而第1行保留。正如我所说的,我希望同时删除第1行和第6行。我确信这个问题是微不足道的,但我想不出正确的搜索词...
谢谢!

yh2wf1be

yh2wf1be1#

我们可以按以下条件分组:

group_by(df, V1, V2) %>%
  filter(n() == 1) %>%
  ungroup()
# # A tibble: 4 × 3
#   V1       V2    V3
#   <chr> <dbl> <dbl>
# 1 b         2     2
# 2 c         1     3
# 3 a         2     4
# 4 c         3     5
goqiplq2

goqiplq22#

使用数据.table

library(data.table)

setDT(df)

df[, .SD[.N == 1], by = .(V1, V2)]

  V1 V2 V3
1:  b  2  2
2:  c  1  3
3:  a  2  4
4:  c  3  5

相关问题