options ls=80; libname barley 'barley_data'; proc freq data=barley.comb;where MWG036B ^= '.' and RISIC10A ^= '.'; table MWG036B*RISIC10A; run; proc nlin data=barley.comb; where MWG036B ^= '.' and RISIC10A ^= '.'; R=.0267; /* Recombination fraction from the linkage map */ parms a=1 r1=0 to .0267 by .01 mu=76; bounds 0 <=r1 <= R; r2=(R-r1)/(1-2*r1); if MWG036B='A' and RISIC10A='A' then x=r1*r2/(1-R); if MWG036B='B' and RISIC10A='B' then x=1-r1*r2/(1-R); if MWG036B='A' and RISIC10A='B' then x=r1*(1-r2)/R; if MWG036B='B' and RISIC10A='A' then x=r2*(1-r1)/R; model env9=mu-2*a*x; run; proc glm data=barley.comb;where MWG036B ^= '.' and RISIC10A ^= '.'; class MWG036B RISIC10A; model env9=MWG036B RISIC10A; lsmeans MWG036B RISIC10A; run;