Problem with LinearModel varNames
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I've tried using both stepwise and stepwiselm in their (X,y) input mode, with X being 45x20 and y 45x1, but whenever I try to run it I get the error "VARNAMES must be a cell array with names for all predictors and for the response." Looking into the debugger, it seems to set varNames to a 1x46 cell and nvars to 21 (which are the variables it checks to see if they're equal before giving the error) so I thought it might be a transposition issue but that doesn't work either (then it gives me varNames 1x21 and nvars 46).
I've searched online but no one seems to be encountering this, what am I doing wrong?
2 comentarios
the cyclist
el 9 de Jun. de 2014
Would it be possible for you to create the smallest possible self-contained example that we could run ourselves, that exhibits the error?
the cyclist
el 10 de Jun. de 2014
Does this code give you that error?
rng(1)
X = rand(45,20);
y = rand(45,1);
mdl=stepwiselm(X,y)
(If you have an old version of MATLAB, comment out the first line where I set the RNG seed.)
Respuestas (2)
Roger Wohlwend
el 10 de Jun. de 2014
The error message tells me that you have defined the names of the variables incorrectly. I assume that your code looks something like this:
mdl = stepwiselm(X,y,'VarNames',Names);
The argument Names must be a cellarray with 21 elements (20 names for the x-variables and one name for the y-variable). See the Matlab documentation for further information.
If this does not help you you have to show us your code.
0 comentarios
Hal
el 10 de Jun. de 2014
1 comentario
Roger Wohlwend
el 10 de Jun. de 2014
Editada: Roger Wohlwend
el 10 de Jun. de 2014
That makes it difficult. Could you please save the variables in a mat-file and post them so we could try to reproduce the error.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!