我已经安装了 R 和 Rstudio 只是为了使用 glmnet 进行多项式 逻辑回归。我不断收到以下错误:
Error in lognet(xd, is.sparse, ix, jx, y, weights, offset, alpha,
nobs, : one multinomial or binomial class has 1 or 0 observations; not allowed
每当我插入数据的因变量观察值时。这包括 120 个“数字”条目:1 到 4。预测变量是 6=4 连续 + 2 分类。
我创建了一个包含 6 列的表“数据”,其中我将分类观察的类别更改为“因素”
data <- cbind(x1,x1fat) # x1=4 columns, x1fat=2 factor columns
然后我设置
x <- model.matrix(~.+0, data=data) # 120x12 matrix
用单热编码因子数据创建回归观察矩阵。提供因变量 y 在 glmnet 中观察,我使用以下行
y <- model.matrix(~.+0, data=y1) # y1 is the 1-column table of imported observations
现在,命令
fit <- glmnet(x, y, family = "multinomial")
提示上述错误
我不明白为什么下面不提示任何错误:
如果我通过随机生成 y 向量
y=sample(1:4,120,replace=true)
如果我在 y 中包含截距列:
y <- model.matrix(~., data=y1)
我完全被困在这里了。任何意见表示赞赏,谢谢。