我正在将因子转换为数字,并尝试过之前发布的两种解决方案:
as.numeric(as.character(factor))
as.numeric(levels(factor))
在这两种情况下:我获得了很多NA和一条警告信息,强制引入了NA。当我输入等级(因子)时,我确实获得了很多百分比(即这些是利率)。
有什么方法可以将这些等级为系数的利率转换为数字?
谢谢,
些利
答案 0 :(得分: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