转换为因子会导致NA

时间:2017-04-11 13:14:51

标签: r

我在R中有以下数据框。

data<-data.frame(Outlook=c("Sunny","Sunny","Overcast","Rainy","Rainy","Rainy",    "Overcast", "Sunny") )

但我需要更改它以为每个值分配一个整数(使其成为factor)。所以,我跑:

ordered(as.character(data$Outlook),
levels = c(100,50, 30),
labels = c("Overcast", "Rainy", "Sunny"))

但是它为我提供了所有NA

<NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
Levels: Overcast < Rainy < Sunny

那么,我怎样才能阻止它制作NAs?

我见过this,但没有帮助我

1 个答案:

答案 0 :(得分:3)

感谢@ zx8754

outlook<-setNames(c(100, 50, 30), c("Overcast", "Rainy", "Sunny"))[data$Outlook]

解决了问题