Skip to content

Incompatibility with VGAM

3 messages · Kjetil Halvorsen, Uwe Ligges, Gabor Grothendieck

#
I just discovered that when the VGAM package (not on CRAN) is loaded,
glm() doesn't work. This is because VGAM defines a family function() 
which gets found
by glm() in place of the family function from stats.
Then VGAM:::family returns an object which doesn't have a $family 
component, (it has a component
$vfamily).

I thought namespaces should protect us from this happening?

Kjetil

-- 

Kjetil Halvorsen.

Peace is the most effective weapon of mass construction.
               --  Mahdi Elmandjra
#
Kjetil Brinchmann Halvorsen wrote:
Yes and no:

Yes: The namespace would protect you if glm would call internally the 
family function such as poisson().

No: Probably you have asked something like glm(....., family=poisson()). 
Now the first instance of poisson() in the search path is used. You are 
passing a call to poisson(), and this is not bound to any namespace. Of 
course you can specify tha namespace such as
glm(....., family=stats::poisson()).

Uwe Ligges
#
As a workaround you could try detaching and re-attaching vgam 
before and after running glm.

detach("package:vgam")
glm(...whatever...)
library(vgam)
On 5/28/05, Kjetil Brinchmann Halvorsen <kjetil at acelerate.com> wrote: