Message-ID: <4299C1E6.2020009@statistik.uni-dortmund.de>
Date: 2005-05-29T13:21:42Z
From: Uwe Ligges
Subject: Incompatibility with VGAM
In-Reply-To: <4298F4D1.4080303@acelerate.com>
Kjetil Brinchmann Halvorsen wrote:
> 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?
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
> Kjetil
>