Problem with LinearModel varNames

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 Kommentare

the cyclist
the cyclist am 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?
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.)

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Roger Wohlwend
Roger Wohlwend am 10 Jun. 2014

0 Stimmen

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 am 10 Jun. 2014

0 Stimmen

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 Kommentar

Roger Wohlwend
Roger Wohlwend am 10 Jun. 2014
Bearbeitet: Roger Wohlwend am 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.

Melden Sie sich an, um zu kommentieren.

Gefragt:

Hal
am 9 Jun. 2014

Kommentiert:

am 10 Jun. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by