I am resubmitting this to r-bugs, since Thomas Lumley indicates that it might be an error:
On Wed, 5 Jul 2000, Thomas Lumley wrote:
On Wed, 5 Jul 2000, halvorsen wrote:
Hola! I have the following simple function:
testcar
function(pow){
ob <- glm(Pound~CG+Age+Vage,data=car,weights=No,
subset=No>0,family=quasi(link=power(pow),var=mu^2))
deviance(ob)
}
But trying to run it gives:
testcar(1/2)
Error in power(pow) : Object "pow" not found
'pow' isn't found because quasi() is looking for it in a strange
place.
Normally you would expect this sort of syntax to work, but the family functions do some tricky things to allow you to specify things with or
without quotes and without or without parentheses. I suspect this might count as a bug. In any case, you can fix it by doing eval(substitute(glm(Pound~CG+Age+Vage,data=car,weights=No subset=No>0,
family=quasi(link=power(pow),var=mu^2))))
As an additional note. This probably won't work if the argument to testcar is a variable. A more reliable version is eval(substitute(glm(Pound~CG+Age+Vage,data=car,weights=No subset=No>0, family=quasi(link=power(pow),var=mu^2))),list(pow=pow)) ( I moved the ,list argument from "substitute" to "eval" to get it work.) Kjetil Halvorsen -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._