proc nlin data = new method = marquardt;
parms A = 15 B = -0.19 C = 0.0012 ;
by pr ;
AXIS1 ORDER = (5 TO 45 BY 5);
model TEST_DAY_MILK_KG = A * Time **b * exp(-C*Time);
output out = Fit predicted = pred ;
symbol1 interpol= join value = star color= black;
symbol2 interpol = none value = none color = red;
run;
QUIT;
proc sort data=fit; by time;
proc gplot data=fit;
plot pred*time TEST_DAY_MILK_KG*time/overlay VAXIS = AXIS1;
run;quit;
Hi guys
This is Ibrahim, I'm looking for your help if you don't mind !!!
How I can use this occasion P = -(B+1)*LOG(C) for the previous model and the correct order for the code, this occasion can calculate the cow persistency of wood's question. P MEANS PERSISTENCY
Wood's question already applied as you see and I had a good output.
kind regards
Ibrahim
Your translation tool is making your questions very difficult to understand.
Maybe all you want is a way to calculate persistency from estimates of A, B, C. Something like:
proc nlin data = new outest=ESTIMATES;
parms A = 15 B = 0.19 C = -0.0012 ;
bounds A B C > 0;
by pr;
model TEST_DAY_MILK_KG = A * Time **b * exp(-C*Time);
output out = Fit predicted = Pred ;
run;
proc sql;
create table persistency as
select
pr,
A, B, C,
-(B+1)*LOG(C) as P
from ESTIMATES
where _TYPE_ = "FINAL";
select * from persistency;
quit;
(untested)
Just guessing from your post of last November, you should try SG procédures for graphing. Example
proc nlin data = new;
parms A = 15 B = 0.19 C = -0.0012 ;
bounds A B C > 0;
by pr ;
model TEST_DAY_MILK_KG = A * Time **b * exp(-C*Time);
output out = Fit predicted = Pred ;
run;
QUIT;
proc sort data=fit; by pr time; run;
proc sgplot data=fit;
series x=time y=pred / group=pr;
scatter x=time y=TEST_DAY_MILK_KG / group=pr;
run;
(untested)
Than you so much for this code
but I'm looking to code this occasion P = -(B+1)*LOG(C) in order to get it's results if toy have any background about it
regards
Ibrahim
Your translation tool is making your questions very difficult to understand.
Maybe all you want is a way to calculate persistency from estimates of A, B, C. Something like:
proc nlin data = new outest=ESTIMATES;
parms A = 15 B = 0.19 C = -0.0012 ;
bounds A B C > 0;
by pr;
model TEST_DAY_MILK_KG = A * Time **b * exp(-C*Time);
output out = Fit predicted = Pred ;
run;
proc sql;
create table persistency as
select
pr,
A, B, C,
-(B+1)*LOG(C) as P
from ESTIMATES
where _TYPE_ = "FINAL";
select * from persistency;
quit;
(untested)
Thank you PGStats very much, that is what I'm looking for exactly, and I'm sorry about the language, I Just have three years when I started to speak English. Also, I have one more question for another occasion if you don't mind
best regards
Ibrahim
Hi
In this post, I'm looking for code to calculate the peak yield from this function ym = a (b/c)^(b) * e^(-b).
could you please help me with this.
regards
Ibrahim
Just add the expression to your previous code:
proc sql;
create table persistency as
select
pr,
A, B, C,
-(B+1)*LOG(C) as P,
A * (B/C)**(B) * exp(-B) as peakYield
from ESTIMATES
where _TYPE_ = "FINAL";
select * from persistency;
quit;
(untested)
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.