R cumunique, как cumsum [дубликат]

На этот вопрос уже есть ответ здесь:

Совокупное количество уникальных значений в столбце до текущей строки 2 ответа

Мне бы хотелось, чтобы функция работала эквивалентно cumsum, но вместо сложения она подсчитывает количество уникальных значений. Я мог бы написать цикл для каждого потенциального набора, но кажется, что это может занять много времени, так как мой набор данных имеет миллионы наблюдений.

Пример:

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