Le script est divisé en trois parties principales. Premièrement, PROC FCMP est utilisé pour créer quatre fonctions personnalisées : BMI (IMC standard), newBMI (une variante de l'IMC), BMIDiff (la différence entre les deux IMC) et absBMIDiff (la valeur absolue de cette différence). Ces fonctions sont stockées dans la bibliothèque sasuser.cmplib. Deuxièmement, PROC TEMPLATE définit un modèle STATGRAPH nommé 'bmi'. Ce modèle inclut un rangeAttrMap pour colorer les bulles du graphique en fonction de la différence d'IMC et un bubblePlot qui visualise la hauteur, le poids et la différence absolue d'IMC. La couleur des bulles indique si le nouvel IMC est supérieur ou inférieur à l'ancien. Enfin, PROC SGRENDER utilise le modèle 'bmi' avec les données de sashelp.class pour générer le graphique, visualisant ainsi la comparaison des deux méthodes de calcul de l'IMC pour chaque individu de l'ensemble de données.
Analyse des données
Type : SASHELP
Les données utilisées pour le rendu du graphique proviennent de l'ensemble de données `sashelp.class`, qui est un ensemble de données de démonstration intégré à SAS et donc interne au système.
1 Bloc de code
PROC FCMP
Explication : Ce bloc utilise `PROC FCMP` pour définir quatre fonctions personnalisées qui seront utilisées plus tard. `BMI` calcule l'Indice de Masse Corporelle classique. `newBMI` calcule une version alternative de l'IMC avec une formule différente (pouvoir 2.5 au lieu de 2). `BMIDiff` calcule la différence entre le nouvel IMC et l'ancien. Enfin, `absBMIDiff` retourne la valeur absolue de cette différence. Ces fonctions sont compilées et stockées dans la bibliothèque `sasuser.cmplib.test` pour être réutilisables. L'instruction `options cmplib=sasuser.cmplib;` rend ces fonctions accessibles pour les étapes suivantes.
Explication : Ce bloc définit un modèle de graphique SG (SGPLOT) nommé 'bmi' en utilisant `PROC TEMPLATE`. Il configure un `rangeAttrMap` (`ram1`) pour gérer la coloration des bulles : du vert au blanc pour les différences négatives d'IMC (nouvel IMC < ancien IMC), et du blanc au rouge pour les différences positives (nouvel IMC > ancien IMC). La variable `bmiDiff` est créée dynamiquement en évaluant la fonction `BMIDiff` définie précédemment. Le titre du graphique est défini et un `bubblePlot` est créé où la taille de la bulle est proportionnelle à la valeur absolue de la différence d'IMC (`absBMIDiff`), et la couleur est déterminée par `bmiDiff` via le `rangeAttrMap`. Une légende continue est ajoutée pour expliquer la coloration. Un pied de page indique la source des formules d'IMC.
Copié !
proc template;
define statgraph bmi;
beginGraph;
rangeAttrMap name="ram1";
range min - 0 / rangeColorModel=(green white);
range 0 - max / rangeColorModel=(white red);
endRangeAttrMap;
rangeAttrVar var=eval(BMIDiff(height, weight)) attrVar=bmiDiff attrMap="ram1";
entryTitle "BMIs for sashelp.class: New vs Old";
layout overlay;
bubblePlot x=weight y=height size=eval(absBMIDiff(height, weight)) /
name="bp1"
dataTransparency=0.3
colorResponse=bmiDiff
;
continuousLegend "bp1" / title='New - Old' vAlign=bottom;
endLayout;
entryFootnote halign=left "BMI formulae from: http://people.maths.ox.ac.uk/trefethen/bmi.html";
endGraph;
end;
run;
Explication : Ce bloc utilise `PROC SGRENDER` pour générer le graphique. Il spécifie que les données proviennent de l'ensemble de données `sashelp.class` et que le modèle de graphique à utiliser est 'bmi', défini dans le bloc `PROC TEMPLATE` précédent. Cette étape exécute la création visuelle du bubble plot, en appliquant les fonctions FCMP et les règles de style définies dans le template.
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.
Informations de Copyright : URL de référence pour les formules BMI: http://people.maths.ox.ac.uk/trefethen/bmi.html, citée dans le code.
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.