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.
Wichtiger Haftungsausschluss
Die auf WeAreCAS.eu bereitgestellten Codes und Beispiele dienen Lehrzwecken. Es ist zwingend erforderlich, sie nicht blind in Ihre Produktionsumgebungen zu kopieren. Der beste Ansatz besteht darin, die Logik zu verstehen, bevor sie angewendet wird. Wir empfehlen dringend, diese Skripte in einer Testumgebung (Sandbox/Dev) zu testen. WeAreCAS übernimmt keine Verantwortung für mögliche Auswirkungen oder Datenverluste auf Ihren Systemen.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.