Bonjour,
Je dispose d'un fichier assez gros avec une trentaines de variables numériques (notées Vi) et caractères.
Je souhaitais avoir pour chaque couple (Vi,Vj) le nombre de modalités croisées.
Les Vi sont stockées dans la macro variable VAR. Le fichier contient également une variable _w=1 pour la sommation de la summary.
ensuite je pensais refaire une SUMMARY sur la variable _TYPE_.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 PROC SUMMARY DATA=TEST missing; CLASS &VAR; VAR _w; WAYS 2; OUTPUT OUT=STAT SUM=; RUN;
Cela ne semble pas fonctionner comme je le souhaite (et je ne suis qu'à moitié étonné) car le temps de calcul est considérable...(et pas sûr qu'il s'achêve correctement )
Une autre piste était de faire les N*(N-1)/2 PROC SORT NODUPKEY ; BY Vi Vj ;
Je ne cherche pas a connaitre le détail des croisements, mais uniquement le nombre de couple de modalité pour chaque (Vi,Vj)
avec un fichier en sortie
Name1= nom de la variable
Name2= nom de la variable
nb_couple= nombre de couple de modalité (valeurs manquantes y compris) entre Name1 et Name2
Par exemple
Name1 Name2 Nb_couple
SEXE AGE 212
SEXE ACTIVITE 68
AGE ACTIVITE 1852
etc....
Si vous avez des idées comment on pourrait aborder ça niveau programmation pour faire calculer cette table le plus rapidement possible par SAS sans tout faire exploser...
Edit : Je me contenterais même bien d'une estimation de l'ordre de grandeur à un facteur 10 près...
Partager