I am trying to run the predict
function for a LDA model. I have two predictors x1
and x2
and a categorical response y
that takes values of -1 and 1. All parameters contains 500 datapoints. And I am splitting the dataset as follows:
xx = data.frame(cbind(x1,x2))
x = cbind(x1,x2)
x_train = x[1:350,]
x_test = x[351:N,]
y_train = y[1:350]
y_test = y[351:N]
Some output:
x1 x2 y
1 -1.1843924 1.920765 -1
2 3.3167508 2.321631 1
3 -3.0301378 5.973256 -1
4 -1.3262624 -2.320463 -1
5 -0.6534166 -3.050822 -1
6 -2.0051728 -4.118190 -1
Then I fit the LDA model and try the predict
function:
modelo.lda = lda(y_train~xx[1:350,1]+xx[1:350,2])
predict.lda = predict(modelo.lda, newdata=xx[351:N,])
Note: the xx
values are stated in that way following this answer for the same problem.
But there is where I get:
Warning message: 'newdata' had 150 rows but variables found have 350 rows
I thought that mantaining the same xx[init:end,]
form fixed the problem as the answer of this question stated but it seems it doesn't.
What could it be?
Thanks in advance.