Scénario de test & Cas d'usage
Simulación de 200 pacientes con Tratamiento (A/B), Edad, Sexo y Tiempo hasta el evento.
| 1 | DATA mycas.clinical_trials; |
| 2 | call streaminit(12345); |
| 3 | DO id = 1 to 200; |
| 4 | Treatment = ifc(rand('BERNOULLI', 0.5), 'NewDrug', 'Standard'); |
| 5 | Sex = ifc(rand('BERNOULLI', 0.6), 'F', 'M'); |
| 6 | Age = 40 + rand('NORMAL') * 12; |
| 7 | /* El riesgo base depende del tratamiento */ |
| 8 | BaseHaz = ifn(Treatment='NewDrug', 0.5, 1.0); |
| 9 | Time = rand('EXPONENTIAL') * 20 / BaseHaz; |
| 10 | Event = (rand('UNIFORM') < 0.8); |
| 11 | OUTPUT; |
| 12 | END; |
| 13 | RUN; |
| 1 | /* Datos ya cargados en mycas.clinical_trials */ |
| 1 | PROC CAS; |
| 2 | phreg.cox / |
| 3 | TABLE={name='clinical_trials'}, |
| 4 | class={{vars={'Treatment', 'Sex'}}}, |
| 5 | model={depVars={{name='Time', event='Event(0)'}}, effects={{vars={'Treatment', 'Sex', 'Age'}}}}, |
| 6 | code={casOut={name='score_code', replace=TRUE}, survival=TRUE, cumHaz=TRUE}; |
| 7 | RUN; |
La acción debe ejecutarse sin errores. Se deben generar tablas de 'Estimaciones de Parámetros' mostrando la significancia del 'Treatment'. Crucialmente, debe crearse una tabla CAS llamada 'score_code' que contenga el código SAS DATA step necesario para calcular probabilidades de supervivencia en nuevos datos.