0
我有数据帧:每个ID呐价值
id value
19 56
19 56
19 56
19 98
19 98
id列有很多不同的含义,不只是19我需要做的是:每个ID
id value
19 56
19 NA
19 NA
19 98
19 NA
等等。
我有数据帧:每个ID呐价值
id value
19 56
19 56
19 56
19 98
19 98
id列有很多不同的含义,不只是19我需要做的是:每个ID
id value
19 56
19 NA
19 NA
19 98
19 NA
等等。
你可以使用replace()
:
df %>% group_by(id) %>%
mutate(test = replace(value, duplicated(value), NA))
# id value test
# <int> <int> <int>
#1 19 56 56
#2 19 56 NA
#3 19 56 NA
#4 19 98 98
#5 19 98 NA
我们可以使用duplicated
从base R
创建一个逻辑索引的 '价值' 分配给NA
df1$value[duplicated(df1)] <- NA
df1
# id value
#1 19 56
#2 19 NA
#3 19 NA
#4 19 98
#5 19 NA