r语言 - 随机森林错误非数字参数的二进制运算符



我在R工作室学习教程,我不能在https://github.com/dataprofessor/rshiny_freecodecamp/blob/main/3-play-golf/app.R

下面的代码行不工作,我不明白为什么。请帮助。

model <- randomForest(play ~ ., data = weather, ntree = 500, mtry = 4, importance = TRUE)# Save model to RDS file

y - ymean错误:二进制操作符in的非数值参数add:警告消息:1:In randomForest.default(m, y,…):
响应具有5个或更少的唯一值。你确定要吗做回归?2:在mean.default(y)中:参数不是数字或逻辑:返回NA

您正在被r4的差异所捕获。x0和R3。X正在处理数据帧的创建。在R4之前。当创建上面的示例时,字符串被自动转换为因子。这在R4.0中改变了,默认是在创建data.frame时不将字符串转换为因子。

解决你的代码:将stringsAsFactors设置为TRUE

# Read data
url <- "https://raw.githubusercontent.com/dataprofessor/data/master/weather-weka.csv"
weather <- read.csv(file = url, stringsAsFactors = TRUE)
# Build model
model <- randomForest(play ~ ., data = weather, ntree = 500, mtry = 4, importance = TRUE)

或者自己创建一个因子:

# Read data
url <- "https://raw.githubusercontent.com/dataprofessor/data/master/weather-weka.csv"
weather <- read.csv(file = url)
weather$play <- as.factor(weather$play)
# Build model
model <- randomForest(play ~ ., data = weather, ntree = 500, mtry = 4, importance = TRUE)

相关内容

最新更新