R:这两个函数之间的区别是什么

时间:2015-01-19 16:58:08

标签: r

我不能为我的生活弄清楚为什么这两个函数产生不同的答案,两者都做同样的事情。

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

1 个答案:

答案 0 :(得分:3)

在第一个功能中

(b3+Tn)

在第二个功能中

(tmin.c1*tmin)

一个是乘法,一个是加法