字符串值的数字值

时间:2013-03-14 11:52:41

标签: r transformation

如果每个唯一字符串都有唯一的数字返回值,我怎么能将字符串值更改为任何数值。

例如INTcntry获取1的值2708BG2的{​​{1}} ...但是我不想手动分配它,因为我有9000个不同的字符串值。

2703BG

2 个答案:

答案 0 :(得分:2)

我怀疑INTcntry是一个因素,

is.factor(dd$INTcntry)

在这种情况下,只是利用这个事实:

R> levels(dd$INTcntry)
[1] "1011CH" "2703BG" "2704BG" "2708BG"
R> labels(dd$INTcntry)
[1] "1" "2" "3" "4" "5" "6" "7" "8"

所以只需将标签转换为数值:

as.numeric(labels(dd$INTcntry))

as.numeric(dd$INTcntry)

如果INTcntry不是一个因素,那么只需使用:

factor(dd$INTcntry)

答案 1 :(得分:1)

一种方法是将变量转换为系数,然后使用as.numeric

as.numeric(factor(df$INTcntry))