如果每个唯一字符串都有唯一的数字返回值,我怎么能将字符串值更改为任何数值。
例如INTcntry
获取1
的值2708BG
,2
的{{1}} ...但是我不想手动分配它,因为我有9000个不同的字符串值。
2703BG
答案 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))