Skip to content

lme4 package and importIntoEnv errors

4 messages · Patrick Connolly, Deepayan Sarkar, Douglas Bates

#
I've used packages for some years now and seldom had any trouble using
the tgz files.  Now I've come across something I've never seen before.
_
platform i686-pc-linux-gnu
arch     i686
os       linux-gnu
system   i686, linux-gnu
status
major    2
minor    1.0
year     2005
month    04
day      18
language R
Loading required package: methods
Loading required package: Matrix
Loading required package: latticeExtra
Error in importIntoEnv(impenv, impnames, ns, impvars) :
        objects ï¿½ï¿½coefï¿½ï¿½, ï¿½ï¿½coef<-ï¿½ï¿½, ï¿½ï¿½corMatrixï¿½ï¿½, ï¿½ï¿½matrix<-ï¿½ï¿½, ï¿½ï¿½pdFactorï¿½ï¿½, ï¿½ï¿½pdMatrixï¿½ï¿½ are not exported by 'namespace:Matrix'
Error: package/namespace load failed for 'lme4'

The Matrix and latticeExtra were downloaded and installed yesterday and
the methods is what came with R-2.1.0.

I notice in the archives someone had a very similar problem with
version 2.0.1 and Windows in January this year, but there's no further
mention that I found.  That one seems to have been fixed with new
Matrix and latticeExtra packages.  However, I'm using newer ones
already.  So I thought it might have to do with 2.1.0 rebreaking
something.

'CHANGES IN R VERSION 2.1.0 patched' doesn't make any mention of
importIntoEnv, so I figured patching wasn't likely to make a
difference.  I also figured that latticeExtra is not likely to be as
buggy as that.

The only thing I can think of that would be slightly non-standard
about my installation is the fact that I install packages (in addition
to the recommended ones) in a different place from the "normal" ones.
Could that be a source of error on this system?  Alternatively, is
there anything I could do about this namespace business?


best
#
On Monday 23 May 2005 09:48 pm, Patrick Connolly wrote:
lme4 is extremely sensitive to the version of Matrix. It's not clear from your 
mail whether you have updated your lme4 after updating Matrix, but if you 
haven't, that is almost certainly the problem.

Deepayan
#
Deepayan Sarkar wrote:
Thanks Deepayan.  I was about to write the same thing.

Perhaps I can add a bit more explanation.  As Deepayan mentioned, the
versions of the lme4 package are closely linked to the versions of the
Matrix package.  The R code for lmer is in the lme4 package but the
corresponding C code is in the Matrix package where it can gain access
to other C functions for sparse matrix manipulation.

When we create a release of the lme4 package we can specify the earliest
version of the Matrix package that will work with it.  However, unless
we become psychic or gain access to a time machine, we can't specify the
last version of Matrix that will work with this version of lme4.  What
you are seeing is an older version of lme4 looking for exported
functions that have been removed from a later version of the Matrix package.

There are several possible ways to resolve this difficulty but all of
them are undesirable to some extent.  For the time being we will just
recommend that you install the latest versions of lme4 and Matrix
simultaneously.
#
On Tue, 24-May-2005 at 08:40AM -0500, Douglas Bates wrote:
|> Perhaps I can add a bit more explanation.  As Deepayan mentioned, the
|> versions of the lme4 package are closely linked to the versions of the
|> Matrix package.  The R code for lmer is in the lme4 package but the
|> corresponding C code is in the Matrix package where it can gain access
|> to other C functions for sparse matrix manipulation.

Thanks for that explanation.  I was curious to know why it's so
different from other packages I've had no trouble with.

My problem did, indeed, arise from using an older version of lme4 with
a new version of Matrix.  Douglas's post explains why
lme4_0.95-8.tar.gz is so much smaller than lme4_0.8-2.tar.gz.  I feel
much less confused now.

Thank you Renaud Lancelot and Deepayan Sarkar also.