Puedo sugerirle al menos dos paquetes que permiten realizar estas tareas: psych ( score.items
) y ltm ( descript
). El paquete CTT también parece procesar MCQ pero no tengo experiencia con él. Se puede encontrar más información en el sitio web de W Revelle, The Personality Project , esp. La página dedicada a la psicometría con R que proporciona instrucciones paso a paso para importar, analizar e informar datos. Además, la vista de tareas CRAN en psicometría incluye muchos recursos adicionales.
Como se describe en su enlace, MC significa "Puntaje bruto total promedio de las personas que respondieron el ítem con la respuesta correcta", y MI para "Puntaje total promedio de las personas que no respondieron el ítem con la respuesta correcta". La correlación punto-biserial (R (IT)) también está disponible en el ltm
paquete ( biserial.cor
). Esto es básicamente un indicador del poder de discriminación del ítem (ya que es la correlación del ítem y el puntaje total), y está relacionado con el parámetro de discriminación de un modelo IRT de 2-PL o la carga de factores en el Análisis Factorial.
Si realmente desea reproducir la tabla que muestra, supongo que tendrá que ajustar parte de este código con un código personalizado, al menos para generar el mismo tipo de tabla. He hecho un ejemplo rápido y sucio que reproduce tu tabla:
dat <- replicate(10, sample(LETTERS[1:4], 100, rep=TRUE))
dat[3,2] <- dat[67,5] <- NA
itan(dat)
P R MC MI NC OMIT A B C D
[1,] 0.23 -0.222 2.870 2.169 23 0 23 22 32 23
[2,] 0.32 -0.378 3.062 1.985 32 1 32 20 14 33
[3,] 0.18 -0.197 2.889 2.207 18 0 18 33 22 27
[4,] 0.33 -0.467 3.212 1.896 33 0 33 18 29 20
[5,] 0.27 -0.355 3.111 2.056 27 1 27 23 23 26
[6,] 0.17 -0.269 3.118 2.169 17 0 17 25 25 33
[7,] 0.21 -0.260 3.000 2.152 21 0 21 24 25 30
[8,] 0.24 -0.337 3.125 2.079 24 0 24 32 22 22
[9,] 0.13 -0.218 3.077 2.218 13 0 13 29 33 25
[10,] 0.25 -0.379 3.200 2.040 25 0 25 25 31 19
Como se trata de respuestas aleatorias, la correlación biserial y la dificultad del elemento no son muy significativas (excepto para verificar que los datos sean verdaderamente aleatorios :). Además, vale la pena verificar posibles errores, ya que redacté la función R en 10 '...
freq.resp <- raw.resp/apply(raw.resp, 1, sum, na.rm=T)
. El error es que "dim (X) debe tener una longitud positiva" mientras que dim (raw.resp) es NULL. ¿Podría ser que, dado que mis datos no tienen todas las opciones con frecuencias positivas, mis tablas no tienen la misma longitud? ¿Cómo puedo completar los ceros en mitable
invocación?