Getting Started Example 1 for PROC HPMIXED
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: HPMGS1 */
/* TITLE: Getting Started Example 1 for PROC HPMIXED */
/* Mixed Model with Large Fixed and Random Effects */
/* PRODUCT: STAT */
/* SYSTEM: ALL */
/* KEYS: Linear mixed models */
/* Large fixed and random effects */
/* PROCS: HPMIXED */
/* DATA: */
/* */
/* SUPPORT: Tianlin Wang */
/* REF: */
/* MISC: */
/****************************************************************/
data Sim;
keep Species Farm Animal Yield;
array AnimalEffect{3000};
array AnimalFarm{3000};
array AnimalSpecies{3000};
do i = 1 to dim(AnimalEffect);
AnimalEffect{i} = sqrt(4.0)*rannor(12345);
AnimalFarm{i} = 1 + int(100*ranuni(12345));
AnimalSpecies{i} = 1 + int(5*ranuni(12345));
end;
do i = 1 to 40000;
Animal = 1 + int(3000*ranuni(12345));
Species = AnimalSpecies{Animal};
Farm = AnimalFarm{Animal};
Yield = 1 + Species + Farm/10 + AnimalEffect{Animal}
+ sqrt(8.0)*rannor(12345);
output;
end;
run;
proc hpmixed data=Sim;
class Species Farm Animal;
model Yield = Species Species*Farm;
random Animal;
test Species*Farm;
contrast 'Species1 = Species2 = Species3'
Species 1 0 -1,
Species 0 1 -1;
run;