Una pregunta de alguien que es bastante nuevo en el modelado jerárquico, y estoy buscando el mejor enfoque dentro de R, preferiblemente con el paquete lme4, MCMCpack, o rjags utilizando un documento BUGS. No estoy seguro de cuál es el mejor enfoque, así que me gustaría recibir alguna orientación.
Estoy interesado en crear un modelo jerárquico de dos niveles con datos de corte transversal, series temporales y a nivel individual fusionados con datos de nivel grupal. Permítanme explicar los dos conjuntos de datos que se fusionaron:
El conjunto de datos a nivel de grupo muestra el número de policías en servicio en 100 condados diferentes. Estos datos se recogieron 10 veces diferentes, por lo que hay 10 conjuntos de 100 condados. He fusionado estos datos de condado a nivel de grupo con los datos demográficos y de delincuencia a nivel individual (fusionados por condado del individuo).
Los datos a nivel individual también tienen un indicador (1 o 0) para cada individuo sobre si denunció o no un delito durante ese periodo. Estos datos a nivel individual también se recogieron en 10 puntos en el tiempo, por lo que coinciden con los datos a nivel de grupo, pero son datos de sección transversal, no de panel (personas diferentes en cada período). Esta es mi variable dependiente, así que estoy buscando un enfoque logit o probit.
Básicamente, me gustaría crear un modelo jerárquico con dos niveles: condado y tiempo, donde la variable de periodo (1-10) está anidada dentro de los condados (1-100). Esto parece bastante sencillo -un modelo anidado de dos niveles- pero mis planteamientos hasta ahora han fracasado.
Basándome en un libro (Gelman y Hill) recomendado por un colega, siento que tengo los conocimientos necesarios para programar los modelos jerárquicos básicos en BUGS y lme4, pero el libro no entra en detalles sobre los modelos más complicados como los anidados en el tiempo, y otras referencias no han sido útiles.
Abajo hay una muestra truncada de cómo se ven mis datos en R. ¡Cualquier consejo, recomendación sobre paquetes a usar, y código de ejemplo para modelar es muy apreciado!
counties <- c(1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3) #only 3 counties for explanation purposes
police <- c(1,22,4,56,3,32,12,8,43,5,45,34,33,21,62,22,3,12,19,29,11,8,32,33,18,12,12) #number of police per county
personID <- seq(1,27) # only 27 people for explanation purposes
period <- c(1,1,1,2,2,2,3,3,3,1,1,1,2,2,2,3,3,3,1,1,1,2,2,2,3,3,3) #only 3 periods for explanation purposes
age <- c(45,55,23,67,21,34,39,48,52,45,32,71,55,56,19,34,48,56,77,33,22,21,44,64,51,55,60) #an individual level predictor not in the hierarchy
crime <- c(1,1,0,0,1,1,0,0,1,0,0,1,1,0,1,0,0,1,1,0,0,0,0,1,0,1,0) #Dependent Var: Did individual report a crime? Yes/No
sample <- matrix(c(personID, period, age, crime, counties, police), nrow=27, ncol=6)
colnames(sample) <- c("personID", "period", "age", "crime", "counties", "police")
> sample
personID period age crime counties police
[1,] 1 1 45 1 1 1
[2,] 2 1 55 1 1 22
[3,] 3 1 23 0 1 4
[4,] 4 2 67 0 1 56
[5,] 5 2 21 1 1 3
[6,] 6 2 34 1 1 32
[7,] 7 3 39 0 1 12
[8,] 8 3 48 0 1 8
[9,] 9 3 52 1 1 43
[10,] 10 1 45 0 2 5
[11,] 11 1 32 0 2 45
[12,] 12 1 71 1 2 34
[13,] 13 2 55 1 2 33
[14,] 14 2 56 0 2 21
[15,] 15 2 19 1 2 62
[16,] 16 3 34 0 2 22
[17,] 17 3 48 0 2 3
[18,] 18 3 56 1 2 12
[19,] 19 1 77 1 3 19
[20,] 20 1 33 0 3 29
[21,] 21 1 22 0 3 11
[22,] 22 2 21 0 3 8
[23,] 23 2 44 0 3 32
[24,] 24 2 64 1 3 33
[25,] 25 3 51 0 3 18
[26,] 26 3 55 1 3 12
[27,] 27 3 60 0 3 12