El script comienza creando un conjunto de datos 'SchoolSample'. Simula datos estructurados jerárquicamente con 300 escuelas, cada una con 25 barrios, y para cada barrio, 2 observaciones en 4 puntos temporales diferentes. Se generan las variables 'SchoolID', 'Neighborhood', 'bInt', 'bTime', 'bTime2'. La variable dependiente 'Math' se calcula con un componente aleatorio. Luego, se usa PROC HPLMIXED para ajustar un modelo lineal mixto a los datos. Las variables 'Neighborhood' y 'SchoolID' se declaran como variables de clasificación. El modelo fijo incluye 'Time' y 'Time*Time'. Los efectos aleatorios incluyen la intersección ('int'), 'Time' y 'Time*Time' anidados en 'Neighborhood(SchoolID)', con una estructura de covarianza no estructurada (TYPE=UN).
Análisis de datos
Type : CREATION_INTERNE
El conjunto de datos 'SchoolSample' se crea completamente de forma interna en el script SAS a través de un paso DATA (DATA STEP). No utiliza datos externos ni bibliotecas SAS predeterminadas como SASHELP.
1 Bloque de código
DATA STEP Data
Explicación : Este bloque DATA STEP genera el conjunto de datos 'SchoolSample'. Utiliza bucles anidados para crear 300 escuelas, cada una con 25 barrios, y para cada barrio, 2 observaciones en 4 puntos temporales ('Time'). Las variables 'bInt', 'bTime', 'bTime2' se generan aleatoriamente para simular efectos fijos. La variable dependiente 'Math' se calcula luego como una función cuadrática del tiempo con la adición de ruido aleatorio ('rannor'). La declaración 'output;' escribe cada observación en el conjunto de datos.
¡Copiado!
data SchoolSample;
do SchoolID = 1 to 300;
do nID = 1 to 25;
Neighborhood = (SchoolID-1)*5 + nId;
bInt = 5*ranuni(1);
bTime = 5*ranuni(1);
bTime2 = ranuni(1);
do sID = 1 to 2;
do Time = 1 to 4;
Math = bInt + bTime*Time + bTime2*Time*Time + rannor(2);
output;
end;
end;
end;
end;
run;
1
DATA SchoolSample;
2
DO SchoolID = 1 to 300;
3
DO nID = 1 to 25;
4
Neighborhood = (SchoolID-1)*5 + nId;
5
bInt = 5*ranuni(1);
6
bTime = 5*ranuni(1);
7
bTime2 = ranuni(1);
8
DO sID = 1 to 2;
9
DO Time = 1 to 4;
10
Math = bInt + bTime*Time + bTime2*Time*Time + rannor(2);
11
OUTPUT;
12
END;
13
END;
14
END;
15
END;
16
RUN;
2 Bloque de código
PROC HPLMIXED
¡Copiado!
proc hplmixed data=SchoolSample;
class Neighborhood SchoolID;
model Math = Time Time*Time / solution;
random int Time Time*Time / sub=Neighborhood(SchoolID) type=un;
run;
1
PROC HPLMIXEDDATA=SchoolSample;
2
class Neighborhood SchoolID;
3
model Math = Time Time*Time / solution;
4
random int Time Time*Time / sub=Neighborhood(SchoolID) type=un;
5
RUN;
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 : S A S S A M P L E L I B R A R Y
NAME: HPLMXGS
TITLE: Getting Started Example for PROC HPLMIXED
PRODUCT: STAT
SYSTEM: ALL
KEYS: Mixed Models, Analysis of Covariance
PROCS: HPLMIXED
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.