Posso suggerirti almeno due pacchetti che consentono di eseguire questi compiti: psych ( score.items
) e ltm ( descript
). Anche il pacchetto CTT sembra elaborare MCQ ma non ho esperienza con esso. Ulteriori informazioni sono disponibili sul sito Web di W Revelle, The Personality Project , esp. la pagina dedicata alla psicometria con R che fornisce istruzioni dettagliate per l'importazione, l'analisi e la reportistica dei dati. Inoltre, la Visualizzazione attività CRAN sulla psicometria include molte risorse aggiuntive.
Come descritto nel tuo link, MC sta per "Punteggio grezzo totale medio delle persone che hanno risposto all'oggetto con la risposta corretta", e MI per "Punteggio totale medio delle persone che non hanno risposto all'oggetto con la risposta corretta". La correlazione punto-biseriale (R (IT)) è disponibile anche nel ltm
pacchetto ( biserial.cor
). Questo è fondamentalmente un indicatore del potere di discriminazione dell'elemento (poiché è la correlazione dell'elemento e del punteggio totale) ed è correlato al parametro di discriminazione di un modello IRT 2-PL o al caricamento dei fattori nell'analisi fattoriale.
Se vuoi davvero riprodurre la tabella che mostri, immagino che dovrai avvolgere parte di questo codice con un codice personalizzato, almeno per produrre lo stesso tipo di tabella. Ho fatto un esempio veloce e sporco che riproduce il tuo tavolo:
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
Poiché si tratta di risposte casuali, la correlazione biseriale e la difficoltà dell'articolo non sono molto significative (tranne per verificare che i dati siano veramente casuali :). Inoltre, vale la pena verificare possibili errori, dal momento che ho redatto la funzione R in 10 '...
freq.resp <- raw.resp/apply(raw.resp, 1, sum, na.rm=T)
. L'errore è che "dim (X) deve avere una lunghezza positiva" mentre dim (raw.resp) è NULL. Potrebbe essere che dal momento che i miei dati non hanno tutte le opzioni con frequenze positive, le mie tabelle non sono tutte della stessa lunghezza? Come posso riempire gli zeri nella miatable
invocazione?