R 对于每个id,值为na

R 对于每个id,值为na,r,dplyr,R,Dplyr,我有数据帧: id value 19 56 19 56 19 56 19 98 19 98 id列有许多不同的含义,而不仅仅是19。我需要这样做: id value 19 56 19 NA 19 NA 19 98 19 NA 因此,对于每个id。我们可以使用基本R中的复制的来创建一个逻辑索引,将“值”分配给NA df1$value[duplicated(df1)] <- NA df1

我有数据帧:

id    value
19      56
19      56
19      56
19      98
19      98
id列有许多不同的含义,而不仅仅是19。我需要这样做:

id    value
19     56
19     NA
19     NA
19     98
19     NA

因此,对于每个id。

我们可以使用
基本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

df1$value[duplicated(df1)]我们可以使用
duplicated
from
base R
创建逻辑索引,将“value”分配给
NA

df1$value[duplicated(df1)] <- NA
df1
#  id value
#1 19    56
#2 19    NA
#3 19    NA
#4 19    98
#5 19    NA

df1$value[duplicated(df1)]您可以使用
replace()

df%>%group\u by(id)%>%
变异(测试=替换(值,重复(值),NA))
#id值测试
#    
#1    19    56    56
#2 19 56 NA
#31956NA
#4    19    98    98
#51998NA

您可以使用
replace()

df%>%group\u by(id)%>%
变异(测试=替换(值,重复(值),NA))
#id值测试
#    
#1    19    56    56
#2 19 56 NA
#31956NA
#4    19    98    98
#51998NA