Dear Jamil, Presumably, the variables alloc.dose, r0, r1, and r2 will exist in the global environment when you call the compiled function lf1.c(), but didn’t exist when you compiled the function. If so, then lf1.c() should work properly despite the notes (not errors, or even warnings) that was printed.
On the other hand, relying on global data in a function is poor programming style — it would be better to make alloc.dose, etc., arguments to the function. As well, if you’re compiling the function to improve efficiency, then you probably also want to compile psi0(), etc. I hope that this helps, John John Fox Sen. William McMaster Professor of Social Statistics McMaster University Hamilton, Ontario, Canada Web: http::/socserv.mcmaster.ca/jfox > On Jan 27, 2017, at 10:43 AM, Naser Jamil <jamilnase...@gmail.com> wrote: > > Dear R-users, > I would like to seek your suggestion. I have the following code which runs > smoothly. But when I compile the function (lf1.c), it shows "no visible > binding for global variable" for some of the arguments. > > ################################### > > library(compiler) > > > psi0<-function(theta1,theta2,theta3,theta4,x){ > z1<-exp(theta1+theta2*x) > z2<-exp(theta3+theta4*x) > 1/((1+z1)*(1+z2)) > } > > psi1<-function(theta1,theta2,theta3,theta4,x){ > z1<-exp(theta1+theta2*x) > z2<-exp(theta3+theta4*x) > z1/((1+z1)*(1+z2)) > } > psi2<-function(theta3,theta4,x) { > z2<-exp(theta3+theta4*x) > z2/(1+z2) > } > > > > lf1<-function(w) { > v<-1 > w1<-w[1] > w2<-w[2] > w3<-w[3] > w4<-w[4] > for (i in 1:length(alloc.dose)) { > dose.i<-alloc.dose[i] > r0.i<-r0[i] > r1.i<-r1[i] > r2.i<-r2[i] > z1<-exp(w1+w2*dose.i) > z2<-exp(w3+w4*dose.i) > psi0<-1/((1+z1)*(1+z2)) > psi1<-z1*psi0 > v<-v*(psi0^r0.i)*(psi1^r1.i)*((1-psi0-psi1)^r2.i) > } > return(v) > } > > > lf1.c<-cmpfun(lf1) > > ############################### > > May I know how to avoid this message? If I leave the code as it is, will > that affect the result anyway? > > Thanks in advance. > > > Regards, > Jamil. > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.