Well, thank you for your answer, but this is not doing the right thing, that is predicting the Class value for the test set Soybean[test,]. It gives instead prediction for data used for forest computation (ignoring all data with NA's) ; 'data' argument is simply ignored as the right name for this argument is 'newdata', which still gives the same error when named.

> length(sb.rf.pred)
[1] 445
> dim(Soybean[test,])
[1] 150  36
> dim(Soybean[-test,])
[1] 533  36
> sb.rf.pred <- predict(sb.rf, newdata=st)
Error in matrix(t1$countts, nr = nclass, nc = ntest) :
        No data to replace in matrix(...)

At 13:13 02/04/03, you wrote:

> Hello everybody,
>
> I'm testing the randomForest package in order to do some simulations and I
> get some trouble with the prediction of new values. The random forest
> computation is fine but each time I try to predict values with the newly
> created object, I get an error message. I thought I was because NA values
> in the dataframe, but I cleaned them and still got the same error. What am
> I doing wrong ?
>
>  > library(mlbench)
>  > library(randomForest)
>  > data(Soybean)
>  > test <- sample(1:683, 150, replace=F)
>  > sb.rf <- randomForest(Class~., data=Soybean[-test,])
>  > sb.rf.pred <- predict(sb.rf, Soybean[test,])
> Error in matrix(t1$countts, nr = nclass, nc = ntest) :
>          No data to replace in matrix(...)


try


R> test <- sample(1:683, 150, replace=FALSE)
R>
R> st <- Soybean[test,]
R>
R> sb.rf <- randomForest(Class~., data=Soybean, subset=-test)
R> sb.rf.pred <- predict(sb.rf, data=st)
R>
R> sb.rf.pred[1:10]
 [1] diaporthe-stem-canker diaporthe-stem-canker diaporthe-stem-canker
 [4] diaporthe-stem-canker diaporthe-stem-canker diaporthe-stem-canker
 [7] diaporthe-stem-canker charcoal-rot          charcoal-rot
[10] charcoal-rot
19 Levels: 2-4-d-injury alternarialeaf-spot anthracnose ...
rhizoctonia-root-rot


Torsten

______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to