R中的Leaps包返回“可变长度不同”错误

时间:2015-03-27 11:23:18

标签: r regression

我使用R中的leaps包来运行regsubsets

a <- regsubsets(in_var~paste(predictors,collapse="+"),data=x,nbest=10,matrix=T)

收到错误消息:

Error in model.frame.default(data = x, matrix = T, formula = rating ~  : variable lengths differ (found for '(matrix)')

(注意,如果我手动复制预测变量列表,则没有区别。)

我刚试过态度数据集,例如:

data(attitude)
attitude <- na.omit(attitude)
regsubsets(rating~.,data=attitude,nbest=10,matrix=T)

并得到同样的错误。我的数据集是相似的,但有更多的变量,in_var是1-3分(其他地方我把它折叠成二进制,我以后可以运行一个逻辑)。我不确定我是否在这里提出statistics questionR个问题...

一些问题(例如Error in model.frame.default ...... variable lengths differ; variable lengths differ in R ...)处理此问题,但我已经在数据框架上完成了na.omit,所以我不应该任何缺失的值导致不均匀的向量。

1 个答案:

答案 0 :(得分:0)

这有效:

a <- regsubsets(y=as.matrix(x[c("in_var")]),x=as.matrix(x[c(predictors)]),nbest=10)

据推测,问题是regsubsets需要matrix(不是df)