【发布时间】:2014-05-01 18:52:39
【问题描述】:
我正在使用 randomForest 包中的 randomForest 函数来查找最重要的变量:
我的数据框称为城市,我的响应变量是数字的收入。
urban.random.forest <- randomForest(revenue ~ .,y=urban$revenue, data = urban, ntree=500, keep.forest=FALSE,importance=TRUE,na.action = na.omit)
我收到以下错误:
Error in randomForest.default(m, y, ...) : data (x) has 0 rows
在源代码上它与x变量有关:
n <- nrow(x)
p <- ncol(x)
if (n == 0)
stop("data (x) has 0 rows")
但我不明白x 是什么。
【问题讨论】:
-
您正在混合使用公式和默认方法。如果您将公式传递给
randomForest,则不应再次传递y值,因为该函数假定公式是x值并且出现问题。 -
我删除了 y=urban$revenue 但错误仍然存在:randomForest.default(m, y, ...) 中的错误:数据 (x) 有 0 行
-
我还有一个新错误:此外:警告消息:在 randomForest.default(m, y, ...) 中:响应具有五个或更少的唯一值。您确定要进行回归吗?虽然我的响应变量有 58 个唯一值 length(unique(urban$revenue))# ==58
-
错误可能出在您的数据中,因为您的行与 iris data
urban.random.forest <- randomForest(Species ~ ., data=iris, ntree=500, keep.forest = FALSE,importance = TRUE, na.action = na.omit)配合得很好
标签: r random-forest