[R] help with predict.lda

David Winsemius dwinsemius at comcast.net
Sun Jul 4 13:37:11 CEST 2010


On Jul 3, 2010, at 11:33 PM, Changbin Du wrote:

> HI, Dear community,
>
> I am using the linear discriminant analysis to build model and make  
> new
> predictions:
>
>> dim(train)  #training data
> [1] 1272   22
>> dim(valid)  # validation data
> [1] 140  22
>
>
> lda.fit <- lda(out ~ ., data=train, na.action="na.omit", CV=TRUE) #  
> model
> fitting of linear discriminant analysis on training data
>
>> predict(lda.fit, valid)   # make prediction on validation data
> Error in UseMethod("predict") :
>  no applicable method for 'predict' applied to an object of class  
> "list"

The predict methods are very picky with what can be used as input.  
They need to have a dataframe with exactly the same variable names as  
were used in the rhs of the formula given to the fitting function. In  
this case that would be all columns in "train" except $out. Reasoning  
under the assumption that "valid" looks just like "train" at the  
moment, I think it's possible that you need to remove the "$out"  
column from the "valid" object since it was not on the rhs. Of course  
it is also possible that "valid" is even more poorly constructed than  
I think, so any further questions should adhere to Peter's admonitions  
as well as including str(train) and str(valid).


>
> Can anyone help with this?
>
-- 

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list