Получение ошибки "dim (X) должен иметь положительную длину" при использовании группы lasso - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь подобрать модель группового лассо с помощью команды 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(). Однако, когда я запускаю этот код, я получаю следующую ошибку:

> 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

Есть ли причина, по которой это происходит?

Для справки, я основываю свой код на примере, приведенном здесь ; данные являются частью библиотеки 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)

РЕДАКТИРОВАТЬ Исправлена ​​опечатка в примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...