R cumunique wie Cumsum [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Kumulative Anzahl eindeutiger Werte in einer Spalte bis zur aktuellen Zeile 2 Antworten

Ich hätte gerne eine Funktion, die Cumsum entspricht, aber anstatt sie zu addieren, zählt sie die Anzahl der bisher eindeutigen Werte. Ich könnte für jede potenzielle Menge eine Schleife schreiben, aber das scheint zeitaufwändig zu sein, da mein Datensatz Millionen von Beobachtungen enthält.

Beispiel

a <- c(1,3,2,4,1,5,2,3)
f(a)
[1] 1 2 3 4 4 5 5 5