我在数据框中有重复的行。我需要删除重复的行值并仅保留其中之一,但应保持行不变。

尝试使用duplicateddistinctunique不允许我保留行。

S.No   Rate   Proportion Control
C11    50     0.9         A
C11    50     0.9         B
C11    50     0.9         A
C21    40     0.8         B
C21    40     0.8         A
C21    40     0.8         A
S.No   Rate   Proportion Control
C11                       A
C11                       B
C11    50     0.9         A
C21                       B
C21                       A
C21    40     0.8         A

最佳答案

尝试,

df[duplicated(df[1:3], fromLast = TRUE),2:3] <- ''

df
#  S.No Rate Proportion Control
#1  C11                       A
#2  C11                       B
#3  C11   50        0.9       A
#4  C21                       B
#5  C21                       A
#6  C21   40        0.8       A
dplyr中的等效项是
library(dplyr)

df %>%
  mutate_at(vars(2:3), funs(replace(., duplicated(., fromLast = TRUE), '')))

07-24 09:52