Mascarando os dados (~Contar e criar flag para campo único)

Suponha que você esteja fazendo um modelo qualquer em que um dos campos para identificar os indivíduos seja o nome completo ou algum documento. Talvez não seja legal você passar essa base para outras pessoas com essas informações, e mesmo assim você pode não querer excluir a coluna se o campo fizer parte da análise. Uma forma legal de substituir esse campo é criando um contador que some um apenas quando surge um campo novo. Veja abaixo como criar um campo (aqui chamado de Cliente_id) com o que será a nova identificação do cliente:

## mascarando documentos na base base_dados
base_dados$cliente_id <- with(base_dados, as.numeric(factor(Documento,levels=unique(Documento) )));
base_dados$cliente_id;

## traz coluna id para primeira posicao e exclui campo documento
base_dados <- base_dados[,c(4,2,3)];

## poderiamos ter feito passo a passo excluindo a coluna Documento
## utilizando: base_dados <- base_dados[,-1];

Ps.: Os dados são fictícios (obviamente)!