Substituindo os valores duplicados, exceto 1 linha no dataframe R

Como posso substituir os valores duplicados de uma coluna específica do dataframe R para NA (exceto a primeira linha) com base no ID. Para dar um exemplo:

x <- data.frame(id=c("p1","p1","p1","p2","p2"),date=c("d1","d1","d1","d2","d2"))

e deve resultar no seguinte:

x2 <- data.frame(id=c("p1","p1","p1","p2","p2"),date=c("d1","NA","NA","d2","NA"))

Eu tenho que manter a estrutura de dados de várias linhas por id, simplesmente não quero que os valores da data sejam repetidos apenas uma vez.

obrigado

questionAnswers(4)

yourAnswerToTheQuestion