Created
September 29, 2021 19:23
-
-
Save MJacobs1985/9b71ff6d31f4029ae5b3aaadd698f136 to your computer and use it in GitHub Desktop.
Simulations in SAS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%let CovBlock=0.000819; | |
%let CovPen=0.001557; | |
%let CovResidual=0.03129; | |
data sim; | |
array trtmean{4} _temporary_ (2.1223 2.1046 2.0919 2.0773); | |
array covpen{4} _temporary_ (0.001361 0.000012 0.002008 0.002880); | |
do blocknum=12; | |
do animalnum=2 to 25 by 2; | |
do sim=1 to 1000 by 1; | |
do block=1 to blocknum; | |
rndblock=rand("Normal",0,sqrt(&CovBlock)); | |
do i=1 to dim(trtmean); | |
TT=i; | |
Mean=trtmean{i}; | |
do Pen=rand("Uniform"); /* Get unique pen identifiers to mimic original dataset */ | |
if tt=i then rndpen=rand("Normal",0,sqrt(covpen{i})); | |
do animal=1 to animalnum; | |
Ind_BW_kg=Mean+rndblock+rndpen+rand("Normal",0,sqrt(&CovResidual)); | |
output; | |
end; | |
end; | |
end; | |
end; | |
end; | |
end; | |
end; | |
proc sort data=sim; | |
by animalnum sim tt; | |
run; | |
proc summary data=sim var mean; | |
class animalnum sim tt; | |
var ind_bw_kg; | |
output out=simsummary mean=mean var=variance; | |
run; | |
ods graphics / outputfmt=svg; | |
proc sgpanel data=simsummary; | |
panelby tt / novarname columns=4 uniscale=colum; | |
vbox mean / category=animalnum group=tt; | |
run; | |
proc univariate data=simsummary; | |
class animalnum tt; | |
var mean; | |
output out=simsumunivariate mean=mean var=variance; | |
run; | |
proc sort data=simsumunivariate; | |
by tt; | |
proc print data=simsumunivariate; | |
run; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment