Publicado el :
Macro CREATION_INTERNE

Conteo de Sujetos por Grupo de Tratamiento

Este código también está disponible en: Deutsch English Français
En espera de validación
El script crea un conjunto de datos de demostración `sample_adsl` que contiene información sobre los sujetos y sus grupos de tratamiento (`trta`, `trtan`). Luego se define una macro `%count`, que toma como parámetros el conjunto de datos de entrada, las variables a considerar para la clasificación y el conteo, así como el rango numérico de los grupos de tratamiento. La macro utiliza `PROC SQL` para contar los sujetos distintos (`usubjid`) para cada grupo de tratamiento en el rango especificado y almacena estos conteos en variables macro globales (por ejemplo, `bign0`, `bign1`, etc.). Finalmente, la macro se llama con los parámetros apropiados para el conjunto de datos `sample_adsl` y los grupos de tratamiento del 0 al 3.
Análisis de datos

Type : CREATION_INTERNE


El conjunto de datos `sample_adsl` se crea directamente en el script usando un paso DATA. No depende de fuentes de datos externas no administradas o de bibliotecas SASHELP.

1 Bloque de código
DATA STEP Data
Explicación :
Este paso DATA crea el conjunto de datos `sample_adsl`. Está poblado con cinco observaciones, cada una representando un sujeto (`usubjid`) asignado a un grupo de tratamiento (`trta` con su versión numérica `trtan`). Este conjunto de datos sirve como base de prueba para el conteo de sujetos.
¡Copiado!
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 Bloque de código
MACRO %COUNT
Explicación :
Esta macro llamada `%count` está diseñada para contar sujetos distintos. Admite un conjunto de datos de entrada (`data`), variables de conteo y clasificación (`var`), y un rango de grupos de tratamiento (`trts` a `trte`). Dentro de la macro, `PROC SQL` se utiliza para crear una tabla temporal `count` y luego, a través de un bucle `%do`, iterar sobre cada grupo de tratamiento. Para cada grupo, cuenta los sujetos únicos (`usubjid`) y almacena el resultado en una variable macro global dinámica (por ejemplo, `bign0`, `bign1`). Los resultados se muestran en el registro SAS a través de `%put`.
¡Copiado!
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 Bloque de código
APPEL MACRO %COUNT
Explicación :
Esta llamada ejecuta la macro `%count`. Proporciona el conjunto de datos `sample_adsl` creado anteriormente, especifica las variables `trtan`, `trta` y `usubjid` para la operación, y solicita el conteo para los grupos de tratamiento del 0 al 3. Esto generará variables macro globales como `bign0`, `bign1`, `bign2`, `bign3` que contendrán los conteos de sujetos para cada grupo respectivo.
¡Copiado!
1%count(
2DATA=sample_adsl,var=%str(trtan,trta,usubjid),trts=0,trte=3);
3 
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : 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