Argomenti: diagramma tridimensionale; matrice dei diagrammi di dispersione; facce di Chernoff; stelle
I dati measures
sono \(n=20\) osservazioni su \(p=4\) variabili:
chest
: misura pettowaist
: misura vitahips
: misura fianchigender
: genere (male
o female
)Importiamo i dati measures
.
rm(list=ls())
# i dati si trovano sezione "dati" della pagina web del corso:
# potete scaricarli cliccando il tasto destro "Save as"
# oppure usare il loro URL (Uniform Resource Locator)
url <- "https://raw.githubusercontent.com/aldosolari/AE/master/docs/dati/measure.csv"
measure <- read.csv(url)
chest | waist | hips | gender |
---|---|---|---|
34 | 30 | 32 | male |
37 | 32 | 37 | male |
38 | 30 | 36 | male |
36 | 33 | 39 | male |
38 | 29 | 33 | male |
43 | 32 | 38 | male |
chest
, waist
e hips
, utilizzando il comando cloud()
che è disponibile nel pacchetto lattice
:library(lattice)
cloud(chest ~ waist + hips, data=measure)
cloud(chest ~ waist + hips, group=gender, data=measure)
Funzioni R più avanzate permettono di costruire un diagramma tridimensionale interattivo:
column.gender <- which(names(measure)=="gender")
plot(measure[,-column.gender], col=(measure$gender=="male")+1)
Facce di Chernoff
Herman Chernoff ha introdotto una tecnica di visualizzazione per illustrare le tendenze nei dati multidimensionali. Questo metodo consiste nel visualizzare i dati multidimensionali a forma di volto umano; i diversi valori dei dati sono abbinati alle caratteristiche del volto, per esempio la larghezza della faccia, il livello delle orecchie, la lunghezza o la curvatura della bocca, la lunghezza del naso, ecc. L’idea che sta dietro all’uso delle facce è che le persone riconoscono i volti e notano piccoli cambiamenti senza difficoltà .
gender
utilizzando il comando faces()
presente nel pacchetto TeachingDemos
:library("TeachingDemos")
faces(measure[,-column.gender], scale=TRUE) #scale=TRUE standardizza i dati
Stelle
Questa rappresentazione grafica consiste di una sequenza di raggi che hanno origine da un centro e formano angoli uguali tra loro; ogni raggio rappresenta una delle variabili. La distanza dal centro del punto marcato sul raggio è proporzionale al valore della variabile rispetto al valore massimo raggiungibile. I punti sui raggi vengono congiunti con segmenti, così che il grafico ha la forma di una stella o di una ragnatela.
stars()
, aggiungendo la legenda con l’argomento key.loc = c(12,10)
.stars(measure[,-column.gender], scale=TRUE,
key.loc = c(12, 10)) # per posizionare la legenda alle coordinate (x,y)
Argomento: diagramma di dispersione condizionato
Il data.frame quakes
è presente nel pacchetto dataset
. Si tratta di 1000 osservazioni misurate su 5 variabili:
Il diagramma di dispersione per latitudine e longitudine dei terremoti, utilizzando il simbolo .
per indicare le osservazioni, è dato da:
data("quakes")
plot(lat ~ long, quakes, pch=".")
Possiamo visualizzare questi dati con riferimento alla mappa geografica
oppure visualizzare i punti con un diagramma tridimensionale (latitudine, logitudine, profondità ) colorando i punti per magnitudine del terremoto:
Proviamo a costruire il diagramma di dispersione di latitudine e longitudine condizionato a 5 intervallo di profondità disgiunti (ottenendoli con il comando co.intervals()
).
intervalli <- co.intervals(quakes$depth, number=5, overlap=0)
intervalli
[,1] [,2]
[1,] 39.5 80.5
[2,] 79.5 186.5
[3,] 185.5 397.5
[4,] 396.5 562.5
[5,] 562.5 680.5
coplot(lat ~ long | depth, data = quakes, given.v = intervalli, rows = 1)