Veröffentlicht am :
Macro CREATION_INTERNE

Zählen von Subjekten pro Behandlungsgruppe

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript erstellt einen Demo-Datensatz `sample_adsl`, der Informationen über Subjekte und deren Behandlungsgruppen (`trta`, `trtan`) enthält. Anschließend wird ein Makro `%count` definiert, das als Parameter den Eingabedatensatz, die für Sortierung und Zählung zu berücksichtigenden Variablen sowie den numerischen Bereich der Behandlungsgruppen entgegennimmt. Das Makro verwendet `PROC SQL`, um die eindeutigen Subjekte (`usubjid`) für jede Behandlungsgruppe im angegebenen Bereich zu zählen und speichert diese Zählergebnisse in globalen Makrovariablen (z.B. `bign0`, `bign1` usw.). Schließlich wird das Makro mit den entsprechenden Parametern für den Datensatz `sample_adsl` und die Behandlungsgruppen 0 bis 3 aufgerufen.
Datenanalyse

Type : CREATION_INTERNE


Der Datensatz `sample_adsl` wird direkt im Skript mithilfe eines DATA-Schritts erstellt. Er hängt nicht von externen, nicht verwalteten Datenquellen oder SASHELP-Bibliotheken ab.

1 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA-Schritt erstellt den Datensatz `sample_adsl`. Er wird mit fünf Beobachtungen gefüllt, die jeweils ein Subjekt (`usubjid`) darstellen, das einer Behandlungsgruppe (`trta` mit seiner numerischen Version `trtan`) zugeordnet ist. Dieser Datensatz dient als Testbasis für die Subjektzählung.
Kopiert!
1DATA sample_adsl;
2 trta="Placebo";trtan=0;usubjid="A1";OUTPUT;
3 trta="Drug A";trtan=1;usubjid="B2";OUTPUT;
4 trta="Drug B";trtan=2;usubjid="C3";OUTPUT;
5 trta="Placebo";trtan=0;usubjid="D4";OUTPUT;
6 trta="Drug A";trtan=1;usubjid="E5";OUTPUT;
7RUN;
2 Codeblock
MACRO %COUNT
Erklärung :
Dieses Makro namens `%count` dient dem Zählen eindeutiger Subjekte. Es verarbeitet einen Eingabedatensatz (`data`), Zähl- und Sortiervariablen (`var`) sowie einen Bereich von Behandlungsgruppen (`trts` bis `trte`). Innerhalb des Makros wird `PROC SQL` verwendet, um eine temporäre Tabelle `count` zu erstellen und anschließend mittels einer `%do`-Schleife jede Behandlungsgruppe zu durchlaufen. Für jede Gruppe werden die eindeutigen Subjekte (`usubjid`) gezählt und das Ergebnis in einer dynamischen globalen Makrovariablen (z.B. `bign0`, `bign1`) gespeichert. Die Ergebnisse werden über `%put` im SAS-Log ausgegeben.
Kopiert!
1%macro count(DATA=,var=,trts=,trte=);
2PROC SQL noprint;
3 create TABLE count as select &var. from &DATA. order BY &var.;
4 %DO i=&trts. %to &trte.;
5 %global bign&i.;
6 select count(distinct usubjid) into: bign&i. from count where trtan=&i;
7 %put bign&i. &&bign&i.;
8 %END;
9QUIT;
10%mend count;
3 Codeblock
APPEL MACRO %COUNT
Erklärung :
Dieser Aufruf führt das Makro `%count` aus. Er liefert den zuvor erstellten Datensatz `sample_adsl`, spezifiziert die Variablen `trtan`, `trta` und `usubjid` für den Vorgang und fordert die Zählung für die Behandlungsgruppen von 0 bis 3 an. Dies generiert globale Makrovariablen wie `bign0`, `bign1`, `bign2`, `bign3`, die die Subjektzähler für jede entsprechende Gruppe enthalten.
Kopiert!
1%count(
2DATA=sample_adsl,var=%str(trtan,trta,usubjid),trts=0,trte=3);
3 
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.
Urheberrechtsinformationen : Program Name : Bign_counter.sas * Author : Balaji.M * SAS Version : SAS 9.4 or higher * Description : This SAS program is use to generate subject counts from adsl dataset with dummy treatment groups in below example Drug C is counted with dummy values for testing purpose. *Macro variable : data:- Input Dataset var:- Variables used for counting and sorting purpose should be included trts:- treatment group start numeric value trte:- treatment group end numeric value