Tratando de ejecutar una validación cruzada de un modelo Poisson inflado en cero usando cv.zipath del paquete mpath .

fit.lasso = zipath(estimation_sample_nomiss ~ .| ., 
             data = missings, 
             nlambda = 100, 
             family = "poisson", 
             link = "logit")
n <- dim(docvisits)[1]
K <- 10
set.seed(197)
foldid <- split(sample(1:n), rep(1:K, length = n))
fitcv <- cv.zipath(F_time_unemployed~ . | ., 
    data = estimation_sample_nomiss, family = "poisson",
                      nlambda = 100, lambda.count = fit.lasso$lambda.count[1:30],
                      lambda.zero = fit.lasso$lambda.zero[1:30], maxit.em = 300,
                      maxit.theta = 1, theta.fixed = FALSE, penalty = "enet",
                      rescale = FALSE, foldid = foldid)

Me encuentro con el siguiente error:

Error en Model.Frame.Default (Fórmula = F_Time_Unempleado ~. +., Datos = Lista (: Las longitudes variables difieren (se encuentran para '(pesos)')

He limpiado la muestra de todos los NA 's pero aún encuentro el mensaje de error.

1
qblom 28 jun. 2019 a las 16:31

1 respuesta

La mejor respuesta

La solución resulta ser que el comando cv.zipath() no acepta formatos de datos Tibble, al menos en esta instancia. (Sin garantía en cuanto a cómo se puede generalizar esta declaración). Habiendo usado los comandos DPLYR, uno necesita convertir en el marco de datos. Por lo tanto, la solución es tan simple como as.dataframe().

0
qblom 1 jul. 2019 a las 10:05