我不能为我的生活弄清楚为什么这两个函数产生不同的答案,两者都做同样的事情。
avocado = function(Tx,Tn,P,b1=17.71,b2=-0.29,b3=3.25,b4=-0.14,b5=1.00,b6=-0.31,b7=-288.09){
yield_anomaly = (b1*Tx)+(b2*(Tx^2))+(b3+Tn)+(b4*(Tn^2))+(b5*P)+(b6*(P^2))+b7
return(yield_anomaly)
}
avocado(Tx=34,Tn=17,P=2) #Answer = -40.65 tons/acre
和产生错误答案的那个
avo.yield = function(tmax, tmin, prcp,tmax.c1=17.71, tmax.c2 = -0.29, tmin.c1 = 3.25, tmin.c2 = -0.14, prcp.c1=1, prcp.c2 = -0.31){
yeild = (tmax.c1*tmax)+(tmax.c2*(tmax^2)) + (tmin.c1*tmin)+(tmin.c2*(tmin^2)) + (prcp.c1*prcp)+(prcp.c2*(prcp^2)) - 288.09
return(yeild)
}
avo.yield(tmax=34, tmin=17, prcp=2) #answer -5.64
答案 0 :(得分:3)
在第一个功能中
(b3+Tn)
在第二个功能中
(tmin.c1*tmin)
一个是乘法,一个是加法