Bei der Analyse von klinischen Daten oder Umfragedaten ist es üblich, Gewichtungsvariablen wie das IPW (Inverse Probability Weighting) zu verwenden, um die Repräsentativität der Stichprobe anzupassen.
Eine häufige Verwirrung entsteht beim Versuch, eine "gewichtete Anzahl von Subjekten" mit der Prozedur PROC SUMMARY zu erhalten. Im Gegensatz zu PROC FREQ ändert die Verwendung der WEIGHT-Anweisung in PROC SUMMARY nicht automatisch die Frequenzzählung (_FREQ_) in der Ausgabetabelle.
Hier wird erklärt, wie man dieses Verhalten versteht und das gewünschte Ergebnis erzielt.
Das Problem: Die WEIGHT-Anweisung ändert den FREQ nicht
Wenn Sie einfach eine WEIGHT-Anweisung zu Ihrer Prozedur hinzufügen, werden Sie feststellen, dass die Variable _FREQ_ in der Ausgabetabelle weiterhin die Anzahl der physischen Beobachtungen (die Zeilen) zählt und nicht die Summe der Gewichte.
Code, der nicht das erwartete Ergebnis liefert:
proc summary data=a1 chartype completetypes;
class treatment;
types treatment;
weight IPW; /* Diese Anweisung ändert nicht den ausgegebenen _FREQ_ */
output out=ae_1;
quit;
1
PROC SUMMARYDATA=a1 chartype completetypes;
2
class treatment;
3
types treatment;
4
weight IPW; /* Diese Anweisung ändert nicht den ausgegebenen _FREQ_ */
Der direkteste und oft klarste Ansatz, um eine "gewichtete Zählung" zu erhalten, besteht darin, Ihre Gewichtungsvariable als Standardanalysevariable zu behandeln und deren Summe anzufordern.
Indem Sie die Gewichte summieren, erhalten Sie das Äquivalent einer gewichteten Zählung der Population.
Empfohlener Code:
proc summary data=a1 chartype completetypes;
class treatment;
types treatment;
var IPW; /* Die Gewichtungsvariable wird als Analysevariable deklariert */
output out=ae_1 sum=sum_weights; /* Die Summe der Gewichte = gewichtete Zählung */
quit;
1
PROC SUMMARYDATA=a1 chartype completetypes;
2
class treatment;
3
types treatment;
4
var IPW; /* Die Gewichtungsvariable wird als Analysevariable deklariert */
5
OUTPUT out=ae_1 sum=sum_weights; /* Die Summe der Gewichte = gewichtete Zählung */
6
QUIT;
Diese Methode ist einfach und vermeidet jegliche Verwirrung über die Art der erzeugten Statistiken.
Lösung 2: Verwendung der SUMWGT-Statistik
Wenn Sie darauf bestehen, die WEIGHT-Anweisung zu verwenden (zum Beispiel, wenn Sie gleichzeitig gewichtete Mittelwerte anderer Variablen berechnen), müssen Sie explizit die SUMWGT-Statistik (Summe der Gewichte) in der OUTPUT-Anweisung anfordern.
Alternativer Code:
proc summary data=a1 chartype;
class treatment;
weight IPW;
/* Die sumwgt-Statistik wird explizit angefordert */
output out=ae_1 sumwgt=sum_weights;
quit;
1
PROC SUMMARYDATA=a1 chartype;
2
class treatment;
3
weight IPW;
4
/* Die sumwgt-Statistik wird explizit angefordert */
5
OUTPUT out=ae_1 sumwgt=sum_weights;
6
QUIT;
Wichtiger Hinweis: FREQ vs. WEIGHT
Es ist entscheidend, zwischen der FREQ-Anweisung und der WEIGHT-Anweisung zu unterscheiden:
FREQ: Wird verwendet, wenn die Variable eine Ganzzahl von Vorkommen darstellt (z.B. "diese Zeile repräsentiert 5 identische Patienten"). Dies ändert die Stichprobengröße ($N$).
WEIGHT: Wird für statistische Gewichtungen (oft nicht-ganzzahlig wie IPW) verwendet. Dies beeinflusst die Berechnung von Varianz und Mittelwerten, aber "verdoppelt" die physischen Beobachtungen nicht.
Zusammenfassend lässt sich sagen, um eine gewichtete Summe in PROC SUMMARY zu erhalten, berechnen Sie einfach die Summe Ihrer Gewichtungsvariable.
Avertissement important
Les codes et exemples fournis sur WeAreCAS.eu sont à but pédagogique. Il est impératif de ne pas les copier-coller aveuglément sur vos environnements de production. La meilleure approche consiste à comprendre la logique avant de l'appliquer. Nous vous recommandons vivement de tester ces scripts dans un environnement de test (Sandbox/Dev). WeAreCAS décline toute responsabilité quant aux éventuels impacts ou pertes de données sur vos systèmes.
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.