2017-07-03 54 views
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 

等等。

回答

2

你可以使用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 
3

我們可以使用duplicatedbase 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