Problem with LinearModel varNames

3 views (last 30 days)
Hal
Hal on 9 Jun 2014
Commented: the cyclist on 10 Jun 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 Comments
the cyclist
the cyclist on 9 Jun 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 on 10 Jun 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.)

Sign in to comment.

Answers (2)

Roger Wohlwend
Roger Wohlwend on 10 Jun 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 on 10 Jun 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 Comment
Roger Wohlwend
Roger Wohlwend on 10 Jun 2014
Edited: Roger Wohlwend on 10 Jun 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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!