21

我正在运行一个包含 67 个观察值和 32 个变量的回归。我正在使用 glmnet 包中的 cv.glmnet 函数进行变量选择。我想将一个变量强加到模型中。(它在正常过程中被丢弃。)如何在 cv.glmnet 中指定这个条件?

谢谢!

我的代码如下所示:

glmntfit <- cv.glmnet(mydata[,-1], mydata[,1])
coef(glmntfit, s=glmntfit$lambda.1se)

我想要的变量是 mydata[,2]。

4

1 回答 1

26

这可以通过提供一个penalty.factor向量来实现,如 中所述?glmnet。惩罚因子0表示“变量始终包含在模型中”,而1是默认值。

glmntfit <- cv.glmnet(mydata[,-1], mydata[, 1], 
                      penalty.factor=c(0, rep(1, ncol(mydata) - 2)))
于 2014-06-11T03:10:24.793 回答