Chapter 19, Section 19.5
Mixed Model Representation of Semiparametric Regression Model for Log Progesterone Concentration
data progest;
infile 'progesterone.dat';
input id group time logp;
grptime7=group*(time-7);
*************************************************************************************************;
* Use ARRAY statement in SAS to create truncated line functions for piecewise *;
* linear curve with 22 knots located consecutively from days -7 through 14 *;
*************************************************************************************************;
array bf(22) bf1 - bf22;
do j = 1 to 22;
knot = -8 + j;
bf(j) = max(0, time - knot);
end;
drop j knot;
title1 Mixed Model Representation of Semiparametric Regression Model for Log Progesterone Concentration;
title2 Study of Log Progesterone Concentration during Menstrual Cycle;
proc mixed;
class id;
model logp = time group group*time group*bf15 / solution;
random bf1-bf22 / type=toep(1) solution;
random intercept time / subject=id type=un;
run;