Supposons que j'ai un data.frame avec N lignes. La colonne id
a 10 valeurs uniques; toutes ces valeurs sont des entiers supérieurs à 1e7. Je voudrais les renommer numérotés de 1 à 10 et enregistrer ces nouveaux identifiants sous la forme d'une colonne dans mon fichier data.frame.Renommer des ID volumineux
De plus, je voudrais déterminer facilement 1) id
donné id.new
et 2) id.new
donné id
.
Par exemple:
> set.seed(123)
> ids <- sample(1:1e7,10)
> A <- data.frame(id=sample(ids,100,replace=TRUE),
x=rnorm(100))
> head(A)
id x
1 4566144 1.5164706
2 9404670 -1.5487528
3 5281052 0.5846137
4 455565 0.1238542
5 7883051 0.2159416
6 5514346 0.3796395
ooooh. Je n'avais pas pensé à ça. C'est plutôt chic. Est-il possible de récupérer facilement le mappage? –
Sauvegardez simplement 'unique (A $ id)' - c'est équivalent à 'levels (facteur (A $ id))' – hadley