随机森林模型错误(if(n == 0)中的错误停止(“data(x)有0行”))

时间:2016-07-25 06:55:49

标签: r image-processing random-forest

我已经很好地设置了我的随机森林模型,请参阅代码

modelRF <- randomForest(x=p$NDVI,
                   y=p$BushCategories,
                   ntree=500, do.trace=TRUE, 
                   importance=TRUE, forest=TRUE, na.action=na.omit)

然后它给出了以下错误

Error in if (n == 0) stop("data (x) has 0 rows") : 
argument is of length zero

请参阅下面的数据结构

'data.frame':   197 obs. of  5 variables:
$ Waypoint_No   : chr  "OMATSC028" "OMATSC200" "OMATSC072N" "OMATSC317" ...
$ Longitude     : num  17.7 17.6 17.8 17.9 17.9 ...
$ Latitude      : num  -21.2 -21.2 -21.1 -20.9 -21.1 ...
$ NDVI          : num  0.256 0.327 0.25 0.268 0.283 ...
$ BushCategories: Factor w/ 4 levels "0-25%","26-50%",..: 3 1 2 3 2 3 1 2 1 
1 ...

可能是什么问题?

以下是我的数据集外观的示例

x<-c('0.256', '0.327', '0.25', '0.268')
y<-c('0-25%','26-50%','51-75%','76-100%')
data<-data.frame(x,y)                       

1 个答案:

答案 0 :(得分:0)

你的公式(对randomForest的第一次输入)是错误的。您必须在公式中指定类类型和训练数据,以便算法知道要训练的内容。

在您的情况下,我假设您正在尝试从BushCategories预测NDVI。所以你应该使用的公式是NDVI~BushCategories。第二个要素是训练数据。所以,只需解决它,它应该适合你。