Le script commence par créer deux jeux de données distincts, 'males' et 'females', en utilisant des étapes DATA avec des données en ligne (datalines). Il exécute ensuite la procédure PROC FREQ sur chaque table pour calculer la fréquence des âges par sexe. La partie principale du code est la définition d'une macro '%multfreq'. Cette macro est conçue pour automatiser l'exécution de PROC FREQ sur une liste de jeux de données et pour une liste de variables spécifiées, offrant ainsi une grande flexibilité pour des analyses répétitives. Enfin, la macro est appelée pour traiter les deux tables créées précédemment.
Analyse des données
Type : CREATION_INTERNE
Les données pour les tables 'males' et 'females' sont créées directement dans le script à l'aide d'instructions 'datalines' au sein de deux étapes DATA distinctes. Aucune source de données externe n'est nécessaire.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc crée la table 'males' à partir de données internes fournies via 'datalines'. Les données contiennent des informations sur des individus de sexe masculin.
Copié !
data males;
infile datalines dlm='|' dsd missover;
input NAME : $8. SEX : $1. AGE : best32. HEIGHT : best32. WEIGHT : best32.;
label ;
format ;
datalines4;
Alfred|M|14|69|112.5
Henry|M|14|63.5|102.5
James|M|12|57.3|83
Jeffrey|M|13|62.5|84
John|M|12|59|99.5
Philip|M|16|72|150
Robert|M|12|64.8|128
Ronald|M|15|67|133
Thomas|M|11|57.5|85
William|M|15|66.5|112
;;;;
run;
1
DATA males;
2
INFILEDATALINES dlm='|' dsd missover;
3
INPUT NAME : $8. SEX : $1. AGE : best32. HEIGHT : best32. WEIGHT : best32.;
4
label ;
5
FORMAT ;
6
datalines4;
7
Alfred|M|14|69|112.5
8
Henry|M|14|63.5|102.5
9
James|M|12|57.3|83
10
Jeffrey|M|13|62.5|84
11
John|M|12|59|99.5
12
Philip|M|16|72|150
13
Robert|M|12|64.8|128
14
Ronald|M|15|67|133
15
Thomas|M|11|57.5|85
16
William|M|15|66.5|112
17
;;;;
18
RUN;
2 Bloc de code
DATA STEP Data
Explication : Ce bloc crée la table 'females' à partir de données internes fournies via 'datalines'. Les données contiennent des informations sur des individus de sexe féminin.
Copié !
data females;
infile datalines dlm='|' dsd missover;
input NAME : $8. SEX : $1. AGE : best32. HEIGHT : best32. WEIGHT : best32.;
label ;
format ;
datalines4;
Alice|F|13|56.5|84
Barbara|F|13|65.3|98
Carol|F|14|62.8|102.5
Jane|F|12|59.8|84.5
Janet|F|15|62.5|112.5
Joyce|F|11|51.3|50.5
Judy|F|14|64.3|90
Louise|F|12|56.3|77
Mary|F|15|66.5|112
;;;;
run;
1
DATA females;
2
INFILEDATALINES dlm='|' dsd missover;
3
INPUT NAME : $8. SEX : $1. AGE : best32. HEIGHT : best32. WEIGHT : best32.;
4
label ;
5
FORMAT ;
6
datalines4;
7
Alice|F|13|56.5|84
8
Barbara|F|13|65.3|98
9
Carol|F|14|62.8|102.5
10
Jane|F|12|59.8|84.5
11
Janet|F|15|62.5|112.5
12
Joyce|F|11|51.3|50.5
13
Judy|F|14|64.3|90
14
Louise|F|12|56.3|77
15
Mary|F|15|66.5|112
16
;;;;
17
RUN;
3 Bloc de code
PROC FREQ
Explication : Ces deux procédures exécutent une analyse de fréquence sur les tables 'males' et 'females' respectivement. Elles calculent la distribution croisée des variables 'sex' et 'age' et stockent les résultats dans les tables 'u01' et 'u02'.
Explication : Définition de la macro '%multfreq'. Elle prend en paramètres une liste de jeux de données ('dsnlist'), une liste de tables de fréquence à générer ('tables') et une condition 'where'. La macro boucle sur chaque jeu de données et exécute PROC FREQ pour chaque table de fréquence demandée, créant un jeu de données de sortie pour chacune.
Explication : Appel de la macro '%multfreq' pour exécuter l'analyse de fréquence sur les tables 'males' et 'females'. La table de fréquence demandée est la distribution croisée de 'sex' et 'age'.
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.