Bella domanda... quindi se non ho capito male tu hai:
mario, gino, pino, mario, mario, pino, luigi
e vuoi trasformarlo in
a,b,c,a,a,c,d
giusto?
Che io sappia non c'è un comando diretto che te lo fa, però potresti fare una cosa del genere (non ottimizzato, suppongo ci siano metodi migliori)
trovaNomi = function(nomi)
{
nomi1 = c();
i=1;
# Passiamoci tutti i nomi
for (n in nomi)
{
newName = 1;
# Controlliamo se abbiamo già preso questo nome
for (n1 in nomi1)
{
if (n1 == n) # Il nome è già presente
{
newName=0;
}
}
# Se il nome è nuovo lo aggiungiamo nell'array nomi1
if (newName == 1)
{
nomi1[i] = n;
i=i+1;
}
}
# Restituiamo l'array nomi1 che ha solamente 1 istanza per ciascun nome
associaNomi = nomi1;
}
# Definiamo i nomi ovviamente li puoi importare da file
nomiIniziali = c("luca", "mario", "gino", "pino", "pippo", "mario", "pippo", "mario", "luca");
# trovaNomi ci trova i singoli nomi
nomi = trovaNomi(nomiIniziali);
nomiFinali = c();
for (i in 1:length(nomiIniziali))
{
for (j in 1:length(nomi))
if (nomi[j] == nomiIniziali[i])
break;
nomiFinali[i] = LETTERS[j];
}
print(nomiIniziali);
print(nomiFinali);