SAS - Tabulazioni incrociate

La tabulazione incrociata implica la produzione di tabelle incrociate chiamate anche tabelle contingenti utilizzando tutte le possibili combinazioni di due o più variabili. In SAS viene creato utilizzandoPROC FREQ insieme con il TABLESopzione. Ad esempio, se abbiamo bisogno della frequenza di ogni modello per ogni marca in ogni categoria di tipo di auto, allora dobbiamo usare l'opzione TABELLE di PROC FREQ.

Sintassi

La sintassi di base per l'applicazione della tabulazione incrociata in SAS è:

PROC FREQ DATA = dataset;
TABLES variable_1*Variable_2;

Di seguito la descrizione dei parametri utilizzati:

  • Dataset è il nome del set di dati.

  • Variable_1 and Variable_2 sono i nomi delle variabili del set di dati di cui è necessario calcolare la distribuzione di frequenza.

Esempio

Considera il caso di trovare quanti tipi di auto sono disponibili per ogni marca di auto dal set di dati cars1 che viene creato SASHELP.CARScome mostrato di seguito. In questo caso abbiamo bisogno dei valori di frequenza individuali e della somma dei valori di frequenza tra le marche e tra i tipi. Possiamo osservare che il risultato mostra valori attraverso le righe e le colonne.

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

proc FREQ data = CARS1;
tables make*type; 
run;

Quando il codice sopra viene eseguito, otteniamo il seguente risultato:

Tabulazione incrociata di 3 variabili

Quando abbiamo tre variabili possiamo raggrupparne 2 e incrociare ciascuna di queste due con la terza variabile. Quindi nel risultato abbiamo due tabelle incrociate.

Esempio

Nell'esempio sotto troviamo la frequenza di ogni tipo di auto e di ogni modello di auto rispetto alla marca dell'auto. Inoltre usiamo le opzioni nocol e norow per evitare i valori di somma e percentuale.

proc FREQ data = CARS2 ;
tables make * (type model)  / nocol norow nopercent;   
run;

Quando il codice sopra viene eseguito, otteniamo il seguente risultato:

Tabulazione incrociata di 4 variabili

Con 4 variabili, il numero di combinazioni accoppiate aumenta a 4. Ogni variabile del gruppo 1 è accoppiata con ogni variabile del gruppo 2.

Esempio

Nell'esempio sotto troviamo la frequenza di lunghezza dell'auto per ogni marca e ogni modello. Allo stesso modo la frequenza di potenza per ogni marca e ogni modello.

proc FREQ data = CARS2 ;
tables (make model) * (length  horsepower)  / nocol norow nopercent;   
run;

Quando il codice sopra viene eseguito, otteniamo il seguente risultato: