I grafici a barre sovrapposti sono generalmente ben compresi dai non statistici, a condizione che vengano introdotti delicatamente. È utile ridimensionarli su una metrica comune (ad es. 0-100%), con un colore graduale per ogni categoria se si tratta di un oggetto ordinale (ad es. Likert). Preferisco il diagramma a punti (diagramma a punti Cleveland), quando non ci sono troppi elementi e non più di 3-5 categorie di risposte. Ma è davvero una questione di chiarezza visiva. Generalmente fornisco% in quanto è una misura standardizzata, e riporto solo% e conta con un grafico a barre non in pila. Ecco un esempio di cosa intendo:
data(Environment, package="ltm")
Environment[sample(1:nrow(Environment), 10),1] <- NA
na.count <- apply(Environment, 2, function(x) sum(is.na(x)))
tab <- apply(Environment, 2, table)/
apply(apply(Environment, 2, table), 2, sum)*100
dotchart(tab, xlim=c(0,100), xlab="Frequency (%)",
sub=paste("N", nrow(Environment), sep="="))
text(100, c(2,7,12,17,22,27), rev(na.count), cex=.8)
mtext("# NA", side=3, line=0, at=100, cex=.8)
È possibile ottenere un rendering migliore con lattice
o ggplot2
. Tutti gli articoli hanno le stesse categorie di risposta in questo esempio particolare, ma in casi più generali potremmo aspettarci di trovarne di diversi, in modo che mostrarli tutti non sembrerebbe ridondante come nel caso qui. Tuttavia, sarebbe possibile assegnare lo stesso colore a ciascuna categoria di risposta in modo da facilitare la lettura.
Direi che i grafici a barre in pila sono migliori quando tutti gli articoli hanno la stessa categoria di risposta, poiché aiutano ad apprezzare la frequenza di una modalità di risposta tra gli articoli:
Posso anche pensare a una sorta di mappa di calore, che è utile se ci sono molti elementi con una categoria di risposta simile.
Le risposte mancanti (specialmente se non trascurabili o localizzate su un determinato articolo / domanda) devono essere segnalate, idealmente per ciascun articolo. In genere, la% delle risposte per ciascuna categoria viene calcolata senza NA. Questo è ciò che di solito viene fatto nel sondaggio o nella psicometria (parliamo di "risposte espresse o osservate").
PS
Mi vengono in mente altre cose di fantasia come l'immagine indicata di seguito (il primo è stato fatto a mano, il secondo è da ggplot2
, ggfluctuation(as.table(tab))
), ma io non credo che trasmettere le informazioni accurate come un grafico a punti o barchart poiché variazioni della superficie sono difficili da apprezzare.