SAS - Scatter Plots

Un grafico a dispersione è un tipo di grafico che utilizza i valori di due variabili tracciate su un piano cartesiano. Di solito viene utilizzato per scoprire la relazione tra due variabili. In SAS usiamoPROC SGSCATTER per creare grafici a dispersione.

Si noti che creiamo il set di dati denominato CARS1 nel primo esempio e utilizziamo lo stesso set di dati per tutti i set di dati successivi. Questo set di dati rimane nella libreria di lavoro fino alla fine della sessione SAS.

Sintassi

La sintassi di base per creare un grafico a dispersione in SAS è:

PROC sgscatter  DATA = DATASET;
   PLOT VARIABLE_1 * VARIABLE_2
   / datalabel = VARIABLE group = VARIABLE;
RUN;

Di seguito è riportata la descrizione dei parametri utilizzati:

  • DATASET è il nome del set di dati.

  • VARIABLE è la variabile utilizzata dal set di dati.

Grafico a dispersione semplice

In un semplice grafico a dispersione scegliamo due variabili dal dataset e le raggruppiamo rispetto a una terza variabile. Possiamo anche etichettare i dati. Il risultato mostra come le due variabili sono disperse nel fileCartesian plane.

Esempio

PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
FROM 
SASHELP.CARS
WHERE make in ('Audi','BMW')
;
RUN;

TITLE 'Scatterplot - Two Variables';
PROC sgscatter  DATA = CARS1;
   PLOT horsepower*Invoice 
   / datalabel = make group = type grid;
   title 'Horsepower vs. Invoice for car makers by types';
RUN;

Quando eseguiamo il codice sopra, otteniamo il seguente output:

Grafico a dispersione con previsione

possiamo usare un parametro di stima per prevedere la forza della correlazione tra disegnando un'ellisse attorno ai valori. Usiamo le opzioni aggiuntive nella procedura per disegnare l'ellisse come mostrato di seguito.

Esempio

proc sgscatter data = cars1; 
compare y = Invoice  x = (horsepower length)  
         / group = type  ellipse =(alpha = 0.05 type = predicted); 
title
'Average Invoice vs. horsepower for cars by length'; 
title2
'-- with 95% prediction ellipse --'
; 
format
Invoice dollar6.0;
run;

Quando eseguiamo il codice sopra, otteniamo il seguente output:

Matrice di dispersione

Possiamo anche avere un grafico a dispersione che coinvolge più di due variabili raggruppandole in coppie. Nell'esempio seguente consideriamo tre variabili e disegniamo una matrice del grafico a dispersione. Otteniamo 3 coppie di matrici risultanti.

Esempio

PROC sgscatter  DATA = CARS1;
   matrix horsepower invoice length
   / group = type;

   title 'Horsepower vs. Invoice vs. Length for car makers by types';
RUN;

Quando eseguiamo il codice sopra, otteniamo il seguente output: