假設我有一個N行data.frame。 id
列有10個唯一值;所有這些值都是大於1e7的整數。我想將它們重命名爲1到10,並將這些新ID保存爲我的data.frame中的一列。重命名大ID
此外,我想容易地確定1)id
給出id.new
和2)給定的id
id.new
。
例如:
> 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。沒有想到這一點。這很漂亮。有什麼方法可以輕鬆恢復映射嗎? – 2009-08-25 21:56:39
只保存'獨特的(A $ id)' - 它相當於'levels(因子(A $ id))' – hadley 2009-08-25 22:04:06