我正在尝试使用gglasso()
包的一部分gglasso
命令来拟合组套索模型。以下是有关我的数据的一些初步详细信息:
as.matrix(x)
是62 x 500的数据矩阵。
colon$yn
是一个62 x 1的响应向量,其值为-1或1(用于分类)。
as.numeric(clus_num$cluster)
是500个预测变量所属的组的列表(长度为500)。此数据集中共有15个群集。
我尝试如下设置套索组:
> group = clus_num$cluster
> glasso_mod = gglasso(x = as.matrix(x), y = colon$yn,
group = as.numeric(clus_num$cluster), loss = "logit")
现在,我正在尝试使用plot()
命令绘制关于lambda的系数。但是,当我运行此代码时,出现以下错误:
> plot(glasso_mod, group = TRUE, log.l = FALSE)
Error in apply(tmp[ix[g]:iy[g], ], 2, crossprod) :
dim(X) must have a positive length
发生这种情况有什么原因吗?
作为参考,我将基于here提供的示例创建我的代码;数据是gglasso
库的一部分,因此只要调用该库,此代码就可以工作:
> data("bardet")
> group = rep(1:20,each=5)
> m1 = gglasso(x = bardet$x, y = bardet$y, group = group, loss = "ls")
> plot(m1, group = TRUE, log.l = FALSE)
编辑修复了示例中的错字。