/* Fit a linear logistic model with a clinic-specific effect to a data set from a multi-center clinical trial, using a random-effect model */ options ls=80 center pagesize=60 number label; data clin; input clinic trt $ fav unfav ; nij=fav+unfav; datalines; 1 drug 11 25 1 cntl 10 27 2 drug 16 4 2 cntl 22 10 3 drug 14 5 3 cntl 7 12 4 drug 2 14 4 cntl 1 16 5 drug 6 11 5 cntl 0 12 6 drug 1 10 6 cntl 0 10 7 drug 1 4 7 cntl 1 8 8 drug 4 2 8 cntl 6 1 ; data new; set clin; do i=1 to fav; y=1; output; end; do i=1 to unfav; y=0; output; end; data new2; set new; dumbtime=2-y; if trt='drug' then isctl=0; else isctl=1; /* NLMIXED: binary data*/ proc nlmixed data=new2; parms intc=-0.4 b1=-0.7 v=2; eta = intc + b1*isctl + u; expNeta = exp(-eta); p = 1/(1+expNeta); model y ~ binomial(1, p); random u ~ normal(0, v) subject=clinic; title1 'Nlmixed (binary)'; data new3; set clin; if trt='drug' then isctl=0; else isctl=1; /* NLMIXED: binomial data*/ proc nlmixed data=new3; parms intc=-0.4 b1=-0.7 v=2; eta = intc + b1*isctl + u; expNeta = exp(-eta); p = 1/(1+expNeta); model fav ~ binomial(nij, p); random u ~ normal(0, v) subject=clinic; title1 'Nlmixed (binomial)'; run; ************* Nlmixed (binary) Parameter Estimates Standard Parameter Estimate Error DF t Value Pr > |t| Alpha Lower intc -0.4589 0.5504 7 -0.83 0.4319 0.05 -1.7605 b1 -0.7385 0.3004 7 -2.46 0.0436 0.05 -1.4488 v 1.9591 1.1903 7 1.65 0.1438 0.05 -0.8554 Parameter Estimates Parameter Upper Gradient intc 0.8426 -1.99E-7 b1 -0.02806 8.688E-7 v 4.7736 5.703E-7 **************** Nlmixed (binomial) Parameter Estimates Standard Parameter Estimate Error DF t Value Pr > |t| Alpha Lower intc -0.4589 0.5504 7 -0.83 0.4319 0.05 -1.7605 b1 -0.7385 0.3004 7 -2.46 0.0436 0.05 -1.4488 v 1.9591 1.1903 7 1.65 0.1438 0.05 -0.8554 Parameter Estimates Parameter Upper Gradient intc 0.8426 -1.99E-7 b1 -0.02806 8.688E-7 v 4.7736 5.703E-7