0

我正在将因子转换为数字,并尝试了之前发布的两种解决方案:

   as.numeric(as.character(factor))  
   as.numeric(levels(factor))

在这两种情况下:我收到很多 NA 和警告消息,NA 是由强制引入的。当我输入水平(因子)时,我确实得到了很多百分比(即这些是利率)。

有什么办法可以将这些利率(其类别为因子)转换为数字?

谢谢,

雪莱

4

1 回答 1

3

带有百分比符号的“数字”在 R 中不被视为数字或整数,因此您需要先在每个数字中删除此符号,例如gsub在执行强制转换之前。

perc <- factor(c("10%", "21.6%", "15%"))

as.numeric(as.character(perc))
[1] NA NA NA
Warning message:
NAs introduced by coercion 


as.numeric(gsub("\\%", "", perc))
[1] 10.0 21.6 15.0
于 2013-07-02T20:36:16.797 回答