将因子转换为整数

Jef*_*son 58 integer r coercion

我正在使用reshape包操作数据框.当使用融合函数时,它会对我的值列进行分解,这是一个问题,因为这些值的子集是我希望能够对其执行操作的整数.

有没有人知道将一个因子强制转换为整数的方法?使用as.character()将它转换为正确的字符,但是我不能立即对它执行操作,as.integer()或者as.numeric()将其转换为系统存储该因子的数字,这是没有用的.

谢谢!

杰夫

Aar*_*ica 72

直接从帮助页面引用factor:

要将因子f转换为其原始数值,as.numeric(levels(f))[f]建议使用效率稍高一些as.numeric(as.character(f)).


Rei*_*son 59

你可以结合这两个功能; 强迫人物从数字到数字:

> fac <- factor(c("1","2","1","2"))
> as.numeric(as.character(fac))
[1] 1 2 1 2
Run Code Online (Sandbox Code Playgroud)