Dear all,

while working on a project regarding a new approach at evaluating  
measures on influential 'cases' in mixed effects models, we would  
like to alter the intercept in such a way that observations nested  
within a specified grouping factor have a value 0 on the intercept  
(and all the others the normal 1).

Whereas this is relatively simple in some statistical packages that  
require the manual definition of the intercept, I have difficulties  
to understand how to do this in the lme4 package. This is what I tried:

require(lme4)

data(bdf, package='mlmRev')
model.1 <- lmer(IQ.perf ~ sex + schoolSES + (1 | schoolNR), data=bdf)
data.adapted <- bdf
data.adapted$intercept.alt <- 1
data.adapted$intercept.alt[data.adapted$schoolNR==1] <- 0
data.adapted$dummy <- 0
data.adapted$dummy[data.adapted$schoolNR==1] <- 1

model.2 <- lmer(IQ.perf ~ -1 + intercept.alt + dummy + sex +  
schoolSES + (-1 + intercept.alt | schoolNR), data=data.adapted)

(Please note that we also add a dummy with value 1 for the specified  
grouping factor, and a 0 for all other groups.)

Unfortunately, model.2 does not converge**. This is the error message  
that is given:

Error in mer_finalize(ans, verbose) :
   Downdated X'X is not positive definite, 4.

Does anyone know if it is possible to manually change the intercept- 
vector, giving it the value 0 for a select number of cases? If it is  
possible, how is it done? This would help us greatly in translating a  
procedure to R-Project, making it available to a larger audience.

Many thanks in advance,

with kind regards,

Rense Nieuwenhuis



** It does when I specify the sex-variable as.numeric(). This however  
results in really messy outcomes.


- - -- --- ----- --------
Rense Nieuwenhuis
+31 6 481 05 683

www.rensenieuwenhuis.nl


	[[alternative HTML version deleted]]


