Veröffentlicht am :
Berichterstattung CREATION_INTERNE

Diagramme der Tumörgrößenvariation (Waterfall Plot)

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript beginnt mit der Erstellung eines Datensatzes 'TumorSize', der die Tumörgrößenvariation für 25 Probanden simuliert, aufgeteilt in zwei Behandlungsgruppen ('Treatment 1', 'Treatment 2'). Anschließend werden zwei Diagramme erstellt. Das erste ist ein klassisches Balkendiagramm, sortiert nach der Antwort. Das zweite, nach einer expliziten Sortierung der Daten, erzeugt ein ähnliches, aber fortschrittlicheres Diagramm mit einem Konfidenzband und einem anderen Balken-Erscheinungsbild. Die Diagramme sind für den Export über ODS LISTING konfiguriert.
Datenanalyse

Type : CREATION_INTERNE


Der Datensatz 'TumorSize' wird vollständig im ersten DATA-Schritt generiert. Er verwendet die ranuni-Funktion, um Zufallsdaten für 25 Beobachtungen zu simulieren, die Patienten und die Variation der Tumörgröße darstellen.

1 Codeblock
Configuration
Erklärung :
Dieser Block initialisiert Makrovariablen für den Ausgabepfad und die Bildauflösung. Er schließt das ODS HTML-Ziel und konfiguriert das ODS LISTING-Ziel für die Diagrammausgabe.
Kopiert!
1%let gpath='.'; /*--Put your Folder Name here--*/
2%let dpi=300;
3ods html close;
4ods listing gpath=&gpath image_dpi=&dpi;
2 Codeblock
DATA STEP Data
Erklärung :
Generierung der Tabelle 'TumorSize' mit 25 Beobachtungen. Für jede Beobachtung werden eine ID (Cid), eine Variation ('change'), eine Behandlungsgruppe ('Group') und ein Label ('Label') zufällig erstellt.
Kopiert!
1DATA TumorSize;
2 LENGTH Cid $ 3;
3 label Change='Change from Baseline (%)';
4 DO Id=1 to 25;
5 cid=put(id, 2.0);
6 change=30-120*ranuni(2);
7 Group=ifc(int(ranuni(2)+0.5), 'Treatment 1', 'Treatment 2');
8 IF mod(id, 5) = 1 THEN Label='C';
9 IF mod(id, 5) = 2 THEN label='R';
10 IF mod(id, 5) = 3 THEN label='S';
11 IF mod(id, 5) = 4 THEN label='P';
12 IF mod(id, 5) = 0 THEN label='N';
13 OUTPUT;
14 END;
15RUN;
3 Codeblock
PROC SGPLOT
Erklärung :
Erstellung eines ersten Balkendiagramms ('Waterfall Plot') mit der SGPLOT-Prozedur. Es stellt die Variation ('change') für jeden Patienten (Cid) dar, gruppiert nach Behandlung. Die Balken sind nach dem Antwortwert (absteigend) geordnet. Referenzlinien und Legenden werden zur Kontextualisierung hinzugefügt.
Kopiert!
1ods graphics / reset width=5in height=3in imagename='4_9_1_TumorSize_SG_V94';
2title 'Change in Tumor Size';
3title2 'ITT Population';
4PROC SGPLOT DATA=TumorSize nowall noborder;
5 styleattrs datacolors=(cxbf0000 cx4f4f4f) datacontrastcolors=(black);
6 vbar cid / response=change group=group categoryorder=respdesc datalabel=label
7 datalabelattrs=(size=5 weight=bold) groupdisplay=cluster clusterwidth=1;
8 refline 20 -30 / lineattrs=(pattern=shortdash);
9 xaxis display=none;
10 yaxis values=(60 to -100 BY -20);
11 inset ("C="="CR" "R="="PR" "S="="SD" "P="="PD" "N="="NE") / title='BCR'
12 position=bottomleft border textattrs=(size=6 weight=bold) titleattrs=(size=7);
13 keylegend / title='' location=inside position=topright across=1 border;
14RUN;
15title;
4 Codeblock
PROC SORT Data
Erklärung :
Sortierung der Tabelle 'TumorSize' nach der Variable 'change' in absteigender Reihenfolge. Das Ergebnis wird in einer neuen Tabelle namens 'TumorSizeDesc' gespeichert.
Kopiert!
1 
2PROC SORT
3DATA=TumorSize out=TumorSizeDesc;
4BY descending change;
5RUN;
6 
5 Codeblock
PROC SGPLOT
Erklärung :
Erstellung eines zweiten Diagramms aus den sortierten Daten ('TumorSizeDesc'). Es verwendet VBARPARM anstelle von VBAR, da die Daten bereits geordnet sind. Ein Band wird hinzugefügt, um einen Konfidenzbereich (zwischen -30 und 20) zu markieren. Das Aussehen der Balken wird mit DATASKIN=PRESSED geändert.
Kopiert!
1ods graphics / reset width=5in height=3in imagename='4_9_2_TumorSize_SG_V94';
2title 'Change in Tumor Size';
3title2 'ITT Population';
4PROC SGPLOT DATA=TumorSizeDesc nowall noborder;
5 styleattrs datacolors=(cxbf0000 gold) datacontrastcolors=(black) axisextent=DATA;
6 band x=cid upper=20 lower=-30 / transparency=0.5 fill nooutline legendlabel='Confidence';
7 vbarparm category=cid response=change / group=group datalabel=label
8 datalabelattrs=(size=5 weight=bold) groupdisplay=cluster
9 dataskin=pressed;
10 xaxis display=none;
11 yaxis values=(60 to -100 BY -20) grid gridattrs=(color=cxf0f0f0);
12 inset ("C="="CR" "R="="PR" "S="="SD" "P="="PD" "N="="NE") / title='BCR'
13 position=bottomleft border textattrs=(size=6 weight=bold) titleattrs=(size=7);
14 keylegend / title='' location=inside position=topright across=1 border opaque;
15RUN;
16title;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.