Ricerca Sociale con R

Una wiki per l'analisi dei dati con R

Strumenti Utente

Strumenti Sito


Il Laboratorio di Analisi dei Dati con R, dell'Università di Teramo su piattaforma Meet, inizia il 9 aprile 2021 - Iscrizione - email
r:grafici:grafici_a_torta

Grafici a torta (pie)

Snippet from Wikipedia: Diagramma a torta

Il diagramma a torta (detto anche diagramma circolare) è un tipo di diagramma utilizzato in statistica descrittiva per rappresentazioni grafiche di variabili quantitative misurate su classi di categorie (valori nominali), al fine di evitare di stabilire, anche involontariamente, un ordine che non esiste nelle categorie (cosa che accadrebbe utilizzando un istogramma).

Un diagramma circolare viene costruito dividendo un cerchio in spicchi le cui ampiezze angolari sono proporzionali alle classi di frequenza. Come per l'istogramma, le aree sono proporzionali alle frequenze.

Nel caso di frequenze relative la somma delle aree è 1 (ovvero 100%).

In R, i grafici a torta vengono principalmente realizzati con il comando pie.

I dati

Per realizzare un grafico a torta semplice, bisogna partire dalle frequenze della variabile nominale, e scrivere dunque il comando

pie(table(x))

oppure

  table1<-(table(x))
  pie(table1)

Grafico a torta semplice

 Grafico a torta
require(MASS)
table1<-table(survey$Smoke)
 
# definiamo i colori e le etichette
cols<-c("darkblue","lightyellow","orange","lightblue")
labs<-c("Molto", "Mai", "Occas", "Regol")
 
pie(table1, main="Fumano", labels=labs, col=cols)

Grafico a torta con etichette

Etichette con frequenza

In questo caso, vogliamo che le etichette riportino anche le frequenze. “Incolliamo” quindi le frequenze (contenute in table1) alle etichette di modalità (labs):

lbls<-paste(labs, table1)

Infine, disegnamo la torta:

pie(table1, main="Fumano", labels = lbls, col=cols)
 |Grafico a torta con frequenze

Legenda e percentuali

In questo caso, riportiamo le etichette di modalità nella legenda, e le percentuali in corrispondenza delle “fette”.

 | Grafico a torta con percentuali

La procedura è simile a quella illustrata sopra:

Calcoliamo le percentuali con un decimale (vedi table(), margin.table() e round()), e creiamo le etichette:

pct<-round((table1/margin.table(table1)*100),1)

Incolliamo il simbolo %, senza spazi:

lbls<-paste(pct,"%",sep="")
pie(table1, main="Fumano", labels = lbls, col=cols)

Aggiungiamo la legenda (verrà disegnata sul grafico):

legend(0.7, 1.0, cex = 0.8, legend=labs, fill = cols)
 
# 0.7, 1.0 = coordinate della legenda;
# cex = dimensioni della legenda

Vedi anche:

Script di esempio

Es Piechart.R
# i dati
require(MASS)
table1<-table(survey$Smoke)
 
# definiamo i colori e le etichette
cols<-c("darkblue","lightyellow","orange","lightblue")
labs<-c("Molto", "Mai", "Occas", "Regol")
 
# grafico a torta semplice
pie(table1, main="Fumano", labels=labs, col=cols)
 
# etichette con frequenze
lbls<-paste(labs, table1)
pie(table1, main="Fumano", labels = lbls, col=cols)
 
# etichette con percentuali
pct<-round((table1/margin.table(table1)*100),1)
lbls<-paste(pct,"%",sep="")
pie(table1, main="Fumano", labels = lbls, col=cols)
 
#legenda
legend(0.7, 1.0, cex = 0.8, legend=labs, fill = cols)
 
# 0.7, 1.0 = coordinate della legenda;
# cex = dimensioni della legenda
r/grafici/grafici_a_torta.txt · Ultima modifica: 25/09/2021 11:41 da admin