Замена повторяющихся значений, кроме 1 строки в R-кадре данных

Как заменить дублированные значения определенного столбца R в кадре данных на NA (кроме первой строки) на основе идентификатора. Чтобы привести пример:

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

и должно привести к следующему:

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

Я должен поддерживать структуру данных из нескольких строк на один идентификатор, просто не хочу, чтобы значения даты повторялись, но один раз.

Спасибо