简体   繁体   中英

Recurring error using lmer() function for a linear mixed-effects model

I attempted to construct a linear mixed effects model using lmer function from lme4 package and I ran into a recurring error. The model uses two fixed effects:

  • DBS_Electrode (factor w/3 levels) and
  • PostOp_ICA (continuous variable).

I use (1 | Subject) as a random effect term in which Subject is a factor of 38 levels (38 total subjects). Below is the line of code I attempted to run:

LMM.DBS <- lmer(Distal_Lead_Migration ~ DBS_Electrode + PostOp_ICA + (1 | Subject), data = DBS)

I recieved the following error:

Number of levels of each grouping factor must be < number of observations.

I would appreciate any help, I have tried to navigate this issue myself and have been unsuccessful.

Linear mixed effect model supposes that there is less subjects than observations so it throws an if it is not the case.

You can think of this formula as telling your model that it should expect that there's going to be multiple responses per subject, and these responses will depend on each subject's baseline level.

Please consult A very basic tutorial for performing linear mixed effects analyses by B. Winter, p. 4 .

In your case you should increase amount of observations per subject (> 1). Please see the simulation below:

library(lme4)
set.seed(123)
n <- 38
DBS_Electrode <- factor(sample(LETTERS[1:3], n, replace = TRUE))

Distal_Lead_Migration <- 10 * abs(rnorm(n))    # Distal_Lead_Migration in cm
PostOp_ICA <- 5 * abs(rnorm(n))

# amount of observations equals to amout of subjects
Subject <- paste0("X", 1:n)
DBS <- data.frame(DBS_Electrode, PostOp_ICA, Subject, Distal_Lead_Migration)
model <- lmer(Distal_Lead_Migration ~ DBS_Electrode + PostOp_ICA + (1|Subject), data = DBS)
# Error: number of levels of each grouping factor must be < number of observations


# amount of observations more than amout of subjects
Subject <- c(paste0("X", 1:36), "X1", "X37")
DBS <- data.frame(DBS_Electrode, PostOp_ICA, Subject, Distal_Lead_Migration)
model <- lmer(Distal_Lead_Migration ~ DBS_Electrode + PostOp_ICA + (1|Subject), data = DBS)
summary(model)

Output:

Linear mixed model fit by REML ['lmerMod']
Formula: Distal_Lead_Migration ~ DBS_Electrode + PostOp_ICA + (1 | Subject)
   Data: DBS

REML criterion at convergence: 224.5

Scaled residuals: 
     Min       1Q   Median       3Q      Max 
-1.24605 -0.73780 -0.07638  0.64381  2.53914 

Random effects:
 Groups   Name        Variance  Std.Dev. 
 Subject  (Intercept) 2.484e-14 1.576e-07
 Residual             2.953e+01 5.434e+00
Number of obs: 38, groups:  Subject, 37

Fixed effects:
               Estimate Std. Error t value
(Intercept)     7.82514    2.38387   3.283
DBS_ElectrodeB  0.22884    2.50947   0.091
DBS_ElectrodeC -0.60940    2.21970  -0.275
PostOp_ICA     -0.08473    0.36765  -0.230

Correlation of Fixed Effects:
            (Intr) DBS_EB DBS_EC
DBS_ElctrdB -0.718              
DBS_ElctrdC -0.710  0.601       
PostOp_ICA  -0.693  0.324  0.219

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM