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.
Aviso importante
Los códigos y ejemplos proporcionados en WeAreCAS.eu son con fines educativos. Es imperativo no copiarlos y pegarlos ciegamente en sus entornos de producción. El mejor enfoque es comprender la lógica antes de aplicarla. Recomendamos encarecidamente probar estos scripts en un entorno de prueba (Sandbox/Dev). WeAreCAS no acepta ninguna responsabilidad por cualquier impacto o pérdida de datos en sus sistemas.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.