R cumunique como cumsum [duplicado]

Esta pergunta já tem uma resposta aqui:

Número cumulativo de valores exclusivos em uma coluna até a linha atual 2 respostas

Gostaria de uma função que funcione equivalente ao cumsum, mas, em vez de somar, conta o número de valores exclusivos até o momento. Eu poderia escrever um loop para cada conjunto de potencial, mas parece que isso pode levar tempo, pois meu conjunto de dados tem milhões de observações.

Exemplo:

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

questionAnswers(2)

yourAnswerToTheQuestion