Le script commence par créer un jeu de données 'TumorSize' simulant la variation de la taille de tumeurs pour 25 sujets répartis en deux groupes de traitement ('Treatment 1', 'Treatment 2'). Il génère ensuite deux graphiques. Le premier est un diagramme en barres classique trié par réponse. Le second, après un tri explicite des données, produit un graphique similaire mais plus avancé avec un bandeau de confiance et une apparence de barre différente. Les graphiques sont configurés pour être exportés via ODS LISTING.
Analyse des données
Type : CREATION_INTERNE
Le jeu de données 'TumorSize' est entièrement généré dans la première étape DATA. Il utilise la fonction ranuni pour simuler des données aléatoires pour 25 observations, représentant des patients et la variation de la taille de leur tumeur.
1 Bloc de code
Configuration
Explication : Ce bloc initialise des macro-variables pour le chemin de sortie et la résolution de l'image. Il ferme la destination ODS HTML et configure la destination ODS LISTING pour la sortie des graphiques.
Copié !
%let gpath='.'; /*--Put your Folder Name here--*/
%let dpi=300;
ods html close;
ods listing gpath=&gpath image_dpi=&dpi;
1
%let gpath='.'; /*--Put your Folder Name here--*/
2
%let dpi=300;
3
ods html close;
4
ods listing gpath=&gpath image_dpi=&dpi;
2 Bloc de code
DATA STEP Data
Explication : Génération de la table 'TumorSize' contenant 25 observations. Pour chaque observation, un identifiant (Cid), une variation ('change'), un groupe de traitement ('Group') et une étiquette ('Label') sont créés de manière aléatoire.
Copié !
data TumorSize;
length Cid $ 3;
label Change='Change from Baseline (%)';
do Id=1 to 25;
cid=put(id, 2.0);
change=30-120*ranuni(2);
Group=ifc(int(ranuni(2)+0.5), 'Treatment 1', 'Treatment 2');
if mod(id, 5) = 1 then Label='C';
if mod(id, 5) = 2 then label='R';
if mod(id, 5) = 3 then label='S';
if mod(id, 5) = 4 then label='P';
if mod(id, 5) = 0 then label='N';
output;
end;
run;
Explication : Création d'un premier graphique en barres ('waterfall plot') avec la procédure SGPLOT. Il représente la variation ('change') pour chaque patient (Cid), groupé par traitement. Les barres sont ordonnées par la valeur de la réponse (décroissante). Des lignes de référence et des légendes sont ajoutées pour contextualiser.
Explication : Tri de la table 'TumorSize' par la variable 'change' en ordre décroissant. Le résultat est stocké dans une nouvelle table nommée 'TumorSizeDesc'.
Copié !
proc sort data=TumorSize out=TumorSizeDesc;
by descending change;
run;
1
2
PROC SORT
3
DATA=TumorSize out=TumorSizeDesc;
4
BY descending change;
5
RUN;
6
5 Bloc de code
PROC SGPLOT
Explication : Création d'un second graphique à partir des données triées ('TumorSizeDesc'). Il utilise VBARPARM au lieu de VBAR car les données sont déjà ordonnées. Un bandeau est ajouté pour marquer une zone de confiance (entre -30 et 20). L'apparence des barres est modifiée avec DATASKIN=PRESSED.
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.
« La force de la version avancée réside dans l'utilisation de l'instruction BAND. En créant une zone de confiance ou de stabilité (entre -30 % et +20 %), vous offrez une couche de lecture supplémentaire qui permet de distinguer immédiatement les patients dont la réponse est cliniquement significative de ceux restant dans la zone de stabilité. »
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.