SAS - Tableaux croisés

La tabulation croisée consiste à produire des tableaux croisés également appelés tableaux contingents en utilisant toutes les combinaisons possibles de deux variables ou plus. Dans SAS, il est créé en utilisantPROC FREQ avec le TABLESoption. Par exemple, si nous avons besoin de la fréquence de chaque modèle pour chaque marque dans chaque catégorie de type de voiture, nous devons utiliser l'option TABLES de PROC FREQ.

Syntaxe

La syntaxe de base pour appliquer la tabulation croisée dans SAS est -

PROC FREQ DATA = dataset;
TABLES variable_1*Variable_2;

Voici la description des paramètres utilisés -

  • Dataset est le nom de l'ensemble de données.

  • Variable_1 and Variable_2 sont les noms des variables de l'ensemble de données dont la distribution de fréquence doit être calculée.

Exemple

Prenons le cas de la recherche du nombre de types de voitures disponibles sous chaque marque de voiture à partir de l'ensemble de données cars1 qui est créé sous forme SASHELP.CARScomme indiqué ci-dessous. Dans ce cas, nous avons besoin des valeurs de fréquence individuelles ainsi que de la somme des valeurs de fréquence entre les marques et les types. Nous pouvons observer que le résultat montre des valeurs sur les lignes et les colonnes.

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;

Lorsque le code ci-dessus est exécuté, nous obtenons le résultat suivant -

Tableau croisé de 3 variables

Lorsque nous avons trois variables, nous pouvons en regrouper 2 et croiser chacune de ces deux variables avec la troisième variable. Donc, dans le résultat, nous avons deux tableaux croisés.

Exemple

Dans l'exemple ci-dessous, nous trouvons la fréquence de chaque type de voiture et de chaque modèle de voiture par rapport à la marque de la voiture. Nous utilisons également les options nocol et norow pour éviter les valeurs de somme et de pourcentage.

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

Lorsque le code ci-dessus est exécuté, nous obtenons le résultat suivant -

Tableau croisé de 4 variables

Avec 4 variables, le nombre de combinaisons appariées passe à 4. Chaque variable du groupe 1 est appariée à chaque variable du groupe 2.

Exemple

Dans l'exemple ci-dessous, nous trouvons la fréquence de longueur de la voiture pour chaque marque et chaque modèle. De même la fréquence de puissance pour chaque marque et chaque modèle.

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

Lorsque le code ci-dessus est exécuté, nous obtenons le résultat suivant -