2014-11-08 71 views
0

我很確定我在這裏丟失了一些東西,但是我怎樣才能得到R中整數代碼和因子變量標籤的映射表?R:因子變量的水平和標籤的映射表

例如,在chickwts數據集,我想爲feed變量

1 --> casein 
2 --> horsebean 
3 --> linseed 
4 --> meatmeal 
5 --> soybean 
6 --> sunflower 

我敢肯定有一個內置的功能可實現此產量,但我不能找到它,並且levels,nlevelsunclass都不給我我想要的。

有什麼建議嗎?

回答

4

該代碼只是levels(...)向量的索引。

with(chickwts,data.frame(code=seq_along(levels(feed)),levels=levels(feed))) 
# code levels 
# 1 1 casein 
# 2 2 horsebean 
# 3 3 linseed 
# 4 4 meatmeal 
# 5 5 soybean 
# 6 6 sunflower 

這與as.integer(...)得到的結果相同。

with(chickwts,data.frame(code=as.numeric(unique(feed)),level=unique(feed))) 
# code  level 
# 1 2 horsebean 
# 2 3 linseed 
# 3 5 soybean 
# 4 6 sunflower 
# 5 4 meatmeal 
# 6 1 casein 
+0

@fg nu無論如何,對不起,我錯誤地誤解了你的輸出。箭頭讓我覺得你想爲整個數據集添加一列。 – akrun 2014-11-08 15:17:00