BookmarkSubscribeRSS Feed
batecy36
Fluorite | Level 6

Hello,

 

First time poster. I am using proc glimmix for a GLMM and a binomial distribution. The model cannot be optimized even when I set the maxopt=100. I was thinking that my next step would be to use a transformation on my response variable and then back transform it. I would use normal distribution when doing this obviously. Does this should like a reasonable approach here? What type of transformation would I use here being its a binary variable (1 or 0) and what's the added code I need? Currently I have:

 

proc glimmix data=obj_1_emergence plots=residualpanel maxopt=100;
class Inoculum Moisture Fungicide Block Rep;
model Emergence=Inoculum|Moisture|Fungicide/ddfm=kr dist=normal;
random Block Block*Inoculum Rep(Block*Inoculum*Moisture);
lsmeans Inoculum|Moisture|Fungicide/lines;
lsmeans Fungicide*Inoculum/lines slicediff=Inoculum slicediff=Fungicide plots=(mean(clband connect sliceby=Fungicide));
run;

 

Thanks,

T

3 REPLIES 3
Rick_SAS
SAS Super FREQ

If your response variable is 0/1, then you have a BINARY response and should use the DIST=BINARY option. (The DIST=BINOMIAL option is often used for events/trials syntax.) 

 

Regarding your idea, every transformation of a binary variable will result in another binary variable, so, no, you cannot use a transformation to somehow convert the problem to one that can use DIST=NORMAL.

batecy36
Fluorite | Level 6

So I actually have a split-split plot with subsampling, 6 per true replicate. I think I should be able to convert to a decimal between 0 and 1 by summing my 0 and 1's and dividing by 6. I then could run this as normally distributed and do a log transformation if need be? I attempted to use DIST=BINARY to no avail. The model will not be optimized unless I run it as normally distributed. I understand it is not ideal but I'm not sure what the better alternative is.

Rick_SAS
SAS Super FREQ

Did you try event/trial syntax?

 

Define Success = sum of 1s

Define nTrials = 6

Then use

MODEL Success/nTrials = .... / dist=binomial;

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 931 views
  • 0 likes
  • 2 in conversation