I am trying to fit lactation curves for different breeds of dairy cattle using Wood's curve with an adjustment for season (s).
The model is:
y(t) = s a t^b e^-c*t
My current code is:
parms a=3 b=0.25 c=-0.0016;
model milk=season*(a*time**(b)*exp(-c*time);
by breed;
output out=pred1 p=predict r=residuals;
run;
Code for plotting predicted values:
proc gplot data=pred1;
plot predict*time=breed;
run; quit;
However when I plot the predicted production values for separate curves for each breed the graph instead plots all 3 breeds by season. How do I get this corrected so I get the graphs for just the breeds and not every season?
Here's the graph I'm getting and an example of the graph I am trying to get:
this is the graph I am getting that is not right
Here's an example of the graph I want
Thank you
Try using by statement or where clause
proc sort data = pred1
by breed;
proc gplot data=pred1;
by breed;
plot predict*time;
or for more control to plot one breed at a time:
proc gplot data=pred1;
where breed = 'A';
plot predict*time;
The code still graphs different curves for each season instead of one average curve for breed. I'm thinking there is something wrong in my Proc Nlin model.
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.