我在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,但没有帮助我
答案 0 :(得分:3)
感谢@ zx8754
outlook<-setNames(c(100, 50, 30), c("Overcast", "Rainy", "Sunny"))[data$Outlook]
解决了问题