Problem with LinearModel varNames

2 vues (au cours des 30 derniers jours)
Hal
Hal le 9 Juin 2014
Commenté : the cyclist le 10 Juin 2014
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 commentaires
the cyclist
the cyclist le 9 Juin 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
the cyclist le 10 Juin 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.)

Connectez-vous pour commenter.

Réponses (2)

Roger Wohlwend
Roger Wohlwend le 10 Juin 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.

Hal
Hal le 10 Juin 2014
I'm using the mdl=stepwiselm(X,y) syntax so it's auto-assigning the variable names by default. And that's all of my code. X is a matrix I create from my data that's 45x20, y is a matrix that's 45x1. There is nothing else in my code.
  1 commentaire
Roger Wohlwend
Roger Wohlwend le 10 Juin 2014
Modifié(e) : Roger Wohlwend le 10 Juin 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.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by