首页 > 解决方案 > 在 R 中运行 glmnet 函数时出错

问题描述

我正在处理一个高维数据nxp等于10 x 4172. 我的数据是基因表达数据,其中我的响应变量 Y 是二进制响应变量。我正在尝试使用glmentR 中的包错误来应用带有套索惩罚的逻辑回归,但是会提示错误。

我尝试通过仅删除 1 个观察值来安装 glmnet 包,但提供了相同的错误。我假设这是由于样本量非常小,但我无法增加提供给我的样本量。代码如下:

> dim(Data)
[1]   10 4172
> tabyl(Data$Group)
 Data$Group n percent
          0 6     0.6
          1 4     0.4
> levels(Data$Group)
[1] "0" "1"

set.seed(3456)
x <- model.matrix(Group~.,Data[-1,])[,-1]
y <- Data[-1,]$Group

lasso.model <- glmnet(x,y,alpha = 1, family = 'binomial')

提示的错误如下:

Warning message:
In lognet(x, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  :
  one multinomial or binomial class has fewer than 8  observations; dangerous ground

我尝试使用以下链接作为参考,但它不是同一个包:

https://support.bioconductor.org/p/111348/

标签: rerror-handlinglogistic-regressionglmnetlasso-regression

解决方案


推荐阅读