我正在处理R库中可用的weatherAUS数据集。我想替换"是"到1和"不"在RainTomorrow专栏中为0。
我写了这个,但它似乎没有用:
weather4$RainTomorrow[weather4$RainTomorrow=="Yes"]<-1
我只是说:
警告讯息:在
[<-.factor
(*tmp*
,weather4 $ RainTomorrow == &#34;是&#34;,值= c(NA,:无效因子水平,NA生成
这是什么意思,我该怎么办?我想我应该在某个地方使用as.numeric或as.factor,但我不知道究竟是怎么回事。
答案 0 :(得分:4)
您可以使用dplyr轻松完成此操作。
require(dplyr)
weather4 <- weather4 %>%
mutate(RainToday = ifelse(RainToday == "No",0,1))
希望这有帮助
答案 1 :(得分:2)
library(data.table)
weather4[,":="(RainTomorrow=ifelse(RainTomorrow=="no",0,1))]
或只是使用:
as.numeric(as.factor(weather4$RainTomorrow))
答案 2 :(得分:0)
当测试不同的模型时,这是相当常见的事情。例如,决策树适用于&#34;是&#34;和&#34;不&#34;。然而,一些回归模型需要1和0.特殊的Logistic回归。
我通过使用plyr库解决了这个问题。这非常简单方便。这是我的解决方案。
解决方案的来源是here.
library(plyr)
weather5$RainToday <- revalue(weather5$RainToday, c("Yes"=1))
weather5$RainToday <- revalue(weather5$RainToday, c("No"=0))
head(weather5$RainToday)
[1] 0 1 1 1 1 0
Levels: 0 1
和平!