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))))
You could also use power(get(pow,env=parent.frame(2))), but that is more
complicated and more likely to break if something changes.
-thomas
Thomas Lumley
Assistant Professor, Biostatistics
University of Washington, Seattle
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help 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-help-request at
stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._