Problem with LinearModel varNames
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
the cyclist
2014-6-9
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
2014-6-10
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.)
回答(2 个)
Roger Wohlwend
2014-6-10
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 个评论
Hal
2014-6-10
1 个评论
Roger Wohlwend
2014-6-10
编辑:Roger Wohlwend
2014-6-10
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!