Segui il canale Telegram
Max 3 mess. al giorno (cos'è?)
Ultimi post del blog
Video e tutorial
Pagine aggiornate
Formazione
Ricerca sociale con R (il libro)
«numero indice utilizzato per stabilire il grado di connessione tra due caratteri statistici qualitativi, introdotto da C.H. Cramér per normalizzare l’indice chi-quadrato χ2 in modo che si ottenga 0 nel caso di indipendenza assoluta e 1 nel caso di dipendenza massima.» Enciclopedia della matematica Treccani.
La sua formula, infatti è:
$$v = \sqrt{\frac{\chi^2}{min(h-1, n-1)N}}$$
dove $min(h-1, n-1)N = max(\chi^2)$
Nella distribuzione standard di R, non esiste una funzione per calcolarlo. E' possibile utilizzare la funzione `assocstats` del pacchetto vcd, oppure scaricare o copiare questo script:
vcramer <- function (x, y = NULL) { if(!is.null(y)) { tab <- table(x, y) } else tab = as.matrix(x) n <- (min(nrow(tab), ncol(tab))-1) * margin.table(tab) chiq <- as.numeric(chisq.test(tab, correct = FALSE)$statistic) p <- chisq.test(tab, correct = FALSE)$p.value v = sqrt(chiq / n) res <- c("chi.sq" = chiq, "p" = p, "v di Cramer" = v) res }
Con due variabili:
vcramer(SLID$sex, SLID$language) ## chi-sq p v di Cramer ## 0.244216202 0.885052688 0.005782383
Con una tabella:
tab <- table(SLID$sex, SLID$language) vcramer(tab)
Per arrotondare il risultato:
round(vcramer(tab), 5) # oppure vcramer(tab) %>% round(5) ## chi-sq p v di Cramer ## 0.24422 0.88505 0.00578
Per avere solo il valore di v di Cramer:
vcramer(tab)[3] # oppure vcramer(tab)["v di Cramer"] ## v di Cramer ## 0.005782383
Per indicazioni su come utilizzare lo script, vedi Scrivere le proprie funzioni
x, y | due variabili categoriali |