Задача
Я хочу запустить анализ скрытых классов с помощью пакета depmixS4 в r. Проблема возникает при попытке установить модель только с одним классом (или состоянием в пакете depmixS4). Когда я пытаюсь настроить модель с набором данных 6000 случаев, я получаю следующую ошибку. Однако, когда число случаев составляет 5000, проблем не возникает.
Error in if (!all(pars < 1e-06)) pars[pars < 1e-06] <- 0 :
missing value where TRUE/FALSE needed
Где проблема? Может ли кто-нибудь помочь мне понять, почему возникает эта ошибка?
Воспроизводимый пример
СЛУЧАЙ A (n = 6000)
Тот же самый случай также происходит, когда дело доходит до случайных переменных. Чтобы получить воспроизводимый пример, сначала я генерирую набор данных (n = 6000 ) с двумя случайными переменными (a и b) с двумя возможными значениями (0 и 1).
library(depmixS4)
#> Loading required package: nnet
#> Loading required package: MASS
#> Loading required package: Rsolnp
a <- sample(0:1, size = 6000, replace = T)
b <- sample(0:1, size = 6000, replace = T)
foo_large <- data.frame(a,b)
set.seed(123)
mod1 <- mix(response = list(a~1, b~1),
data=foo_large, # the dataset to use
nstates=1, # the number of latent classes
family=list(multinomial("identity"),multinomial("identity")))
fmod1 <- fit(mod1, verbose=TRUE)
#> Error in if (!all(pars < 1e-06)) pars[pars < 1e-06] <- 0: missing value where TRUE/FALSE needed
CASE B (n = 5000) Однако с набором данных (n = 5000 ) с двумя случайными переменными, имеющими те же характеристики, что и предыдущие, ошибки нет.
library(depmixS4)
#> Loading required package: nnet
#> Loading required package: MASS
#> Loading required package: Rsolnp
c <- sample(0:1, size = 5000, replace = T)
d <- sample(0:1, size = 5000, replace = T)
foo_short <- data.frame(c,d)
set.seed(123)
mod1 <- mix(response = list(c~1, d~1),
data=foo_short, # the dataset to use
nstates=1, # the number of latent classes
family=list(multinomial("identity"),multinomial("identity")))
fmod1 <- depmixS4::fit(mod1, verbose=TRUE)
#> iteration 0 logLik: -6928.943
#> converged at iteration 1 with logLik: -6928.943