percentile boxPlot

Grenzfall-Szenario: Analyse klinischer Daten mit fehlenden Werten

Scénario de test & Cas d'usage

Geschäftskontext

Bei einer klinischen Studie werden Biomarker-Werte für Patienten in verschiedenen Behandlungsgruppen (Gruppe A, Gruppe B) und einer Kontrollgruppe analysiert. Einige Patienten haben keine zugewiesene Gruppe (fehlender Wert), und einige Biomarker-Messungen fehlen. Dieses Szenario testet die Fähigkeit der Aktion, fehlende Werte sowohl in der Gruppierungsvariablen als auch in der Analysevariablen korrekt zu behandeln.
Über das Set : percentile

Präzise Berechnung von Perzentilen und Quantilen.

Entdecken Sie alle Aktionen von percentile
Datenaufbereitung

Erstellt eine Tabelle mit Patientendaten, die absichtlich fehlende Werte in der Gruppierungsvariablen (`treatment_group`) und der Analysevariablen (`biomarker_level`) enthält.

Kopiert!
1DATA casuser.clinical_trial_de;
2 LENGTH treatment_group $ 10;
3 call streaminit(123);
4 DO patient_id = 1 to 150;
5 r = rand('UNIFORM');
6 IF r < 0.4 THEN treatment_group = 'Group A';
7 ELSE IF r < 0.8 THEN treatment_group = 'Group B';
8 ELSE treatment_group = ''; /* Fehlende Gruppe */
9 
10 IF rand('UNIFORM') < 0.9 THEN DO; /* 10% fehlende Messungen */
11 IF treatment_group = 'Group A' THEN biomarker_level = rand('NORMAL', 100, 15);
12 ELSE IF treatment_group = 'Group B' THEN biomarker_level = rand('NORMAL', 120, 20);
13 ELSE biomarker_level = rand('NORMAL', 90, 10);
14 END;
15 ELSE biomarker_level = .; /* Fehlender Wert */
16 OUTPUT;
17 END;
18RUN;

Étapes de réalisation

1
Ausführen der Boxplot-Analyse mit `includeMissingGroup=true`, um fehlende Gruppen als separate Kategorie zu behandeln.
Kopiert!
1PROC CAS;
2 percentile.boxPlot /
3 TABLE={name='clinical_trial_de', caslib='casuser', groupBy={'treatment_group'}},
4 inputs={{name='biomarker_level'}},
5 casOut={name='clinical_boxplot_missing', caslib='casuser', replace=true},
6 includeMissingGroup=true,
7 nOutLimit=5; /* Spezifische Ausreißerwerte anfordern */
8RUN;
9QUIT;
2
Überprüfung der Ausgabetabelle, um sicherzustellen, dass eine Gruppe mit einem leeren/fehlenden Namen vorhanden ist.
Kopiert!
1 
2PROC PRINT
3DATA=casuser.clinical_boxplot_missing;
4where missing(treatment_group) or treatment_group = '';
5RUN;
6 

Erwartetes Ergebnis


Die Ausgabetabelle `clinical_boxplot_missing` muss drei Zeilen enthalten: eine für 'Group A', eine für 'Group B' und eine, bei der `treatment_group` fehlt (leer ist). Die Berechnungen für jede Gruppe sollten nur die nicht fehlenden Werte von `biomarker_level` berücksichtigen. Die Spalten für Ausreißerwerte (z. B. `_OUTLIERVALUES_LOW_1`) sollten vorhanden sein, da `nOutLimit` angegeben wurde, und die Anzahl der Beobachtungen (`_NOBS_`) für jede Gruppe sollte die Anzahl der fehlenden `biomarker_level`-Werte korrekt ausschließen.