[英]How to correctly convert factor to numeric in a new dataset
我將數據集中的因子轉換為數值,如下所示
library(dplyr)
df = data.frame(level= c( 'low', 'medium', 'high', 'very high'))
df$level = as.numeric(revalue(df$level, c('low' = 1, 'medium' =2, 'high'= 3, 'very high'=4)))
df
沒關系。 當我嘗試將此規則應用於新數據集時出現問題(我對模型進行了轉換並希望預測新數據)
newdude = data.frame(level = c( 'high'))
newdude$level = as.numeric(revalue(newdude$level, c('low' = 1, 'medium' =2, 'high'= 3, 'very high'=4)))
Error
The following `from` values were not present in `x`: low, medium, very high
> newdude
level
1 1
我得到的不是1而不是3
newdude$level = as.numeric(revalue(newdude$level, c( 'high'= 3)))
因為我無法預先知道它將獲得什么價值
如何解決?
試試吧
newdude = data.frame(level = factor('high', levels = c('low', 'medium', 'high', 'very high')))
newdude$level
[1] high
Levels: low medium high very high
as.numeric(newdude$level)
[1] 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.