Ersetzen der doppelten Werte mit Ausnahme von 1 Zeile in R-Datenrahmen

Wie kann ich die duplizierten Werte einer bestimmten Spalte von R-Datenrahmen in NA (mit Ausnahme der ersten Zeile) basierend auf der ID ersetzen? Um ein Beispiel zu geben:

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

und sollte folgendes ergeben:

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

Ich muss die Datenstruktur mehrerer Zeilen pro ID beibehalten, möchte einfach nicht, dass die Datumswerte wiederholt werden, sondern nur einmal.

Vielen Dan