[R] How to keep the same class?

Marc Schwartz marc_schwartz at me.com
Fri Sep 2 22:16:25 CEST 2011


On Sep 2, 2011, at 3:05 PM, Eduardo M. A. M.Mendes wrote:

> Hello
> 
> 
> 
> Please see the example below
> 
> 
> 
>> class(testX)
> 
> [1] "matrix"
> 
>> class(testX[1,])
> 
> [1] "numeric"
> 
> 
> 
> Why not matrix?   What am I missing here?   Is there a way to keep the same
> class?   
> 
> 
> 
> The reason for the question is that I want to implement a k-step ahead
> prediction for my own routines and R wrecks does not seem to like [1,] as
> shown below.
> 
> 
> 
>> predict(fit10,testX[1,])
> Error in knnregTrain(train = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  : 
>  dims of 'test' and 'train differ
>> predict(fit10,testX[1:2,])
> [1] 81.00 76.36
> 
> 
> 
> Many thanks
> 
> 
> 
> Ed


Ed,

See:

http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-my-matrices-lose-dimensions_003f

and then use:

  predict(fit10, testX[1, , drop = FALSE])

HTH,

Marc Schwartz



More information about the R-help mailing list