首页 文章

将因子转换为整数[重复]

提问于
浏览
55

这个问题在这里已有答案:

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

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

谢谢!

杰夫

2 回答

  • 70

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

    > fac <- factor(c("1","2","1","2"))
    > as.numeric(as.character(fac))
    [1] 1 2 1 2
    
  • 55

    直接从 factor 的帮助页面引用:

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

相关问题