LME模型加入wait变量后出现Singularity in backsolve报错求助
解决LME模型四因素交互项的奇异值报错问题
问题背景
我在R里构建线性混合效应模型(LME)时卡壳了:不带wait变量的模型跑得顺顺当当,但一加上四因素交互项Adhesive*Approach*Aging*wait,执行下面的代码就报错:
LME_01 <- lme( data_mTBS ~ Adhesive*Approach*Aging*wait, na.action = na.exclude, data = Data, random = ~ 1|data_name );
报错信息如下:
Error in MEEM(object, conLin, control$niterEM) : Singularity in backsolve at level 0, block 1
数据概况
我的数据集有972条观测,7个变量,具体结构如下:
str(Data) # 'data.frame': 972 obs. of 7 variables: # $ data_mTBS : num 20.3 22.7 0 47.8 58.7 ... # $ data_tooth: num 1 1 1 1 1 1 1 1 1 1 ... # $ Adhesive : Factor w/ 4 levels "C-SE2","C-UBq",..: 2 2 2 2 2 2 2 2 2 2 ... # $ Approach : Factor w/ 2 levels "ER","SE": 1 1 1 1 1 1 1 1 1 1 ... # $ Aging : Factor w/ 2 levels "1w","6m": 1 1 1 1 1 1 2 2 2 2 ... # $ data_name : Factor w/ 40 levels "C-SE2-1","C-SE2-10",..: 11 11 11 11 11 11 11 11 11 11 ... # $ wait : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
数据集前6行的示例:
head(Data) # data_mTBS data_tooth Adhesive Approach Aging data_name wait # 1 20.27 1 C-UBq ER 1w C-UBq-1 no # 2 22.73 1 C-UBq ER 1w C-UBq-1 no # 3 0.00 1 C-UBq ER 1w C-UBq-1 no # 4 47.79 1 C-UBq ER 1w C-UBq-1 no # 5 58.73 1 C-UBq ER 1w C-UBq-1 no # 6 57.02 1 C-UBq ER 1w C-UBq-1 no
待推进的对比分析
原本我打算模型拟合成功后,运行下面两组代码做对比分析,但现在因为报错完全动不了:
1. Aging组间对比
contrast_Aging <- contrast( LME_01, a = list(Aging = c("1w"), Adhesive = levels(Data$Adhesive), Approach = levels(Data$Approach)), b = list(Aging = c("6m"), Adhesive = levels(Data$Adhesive), Approach = levels(Data$Approach)) ) c1 <- as.matrix(contrast$X) Contrastsi2 <- summary(glht(LME_01, c1))
2. Approach组间对比
contrast_Approach <- contrast( LME_01, a = list(Approach = c("SE"), Aging = levels(Data$Aging), Adhesive = levels(Data$Adhesive)), b = list(Approach = c("ER"), Aging = levels(Data$Aging), Adhesive = levels(Data$Adhesive)) ) c2 <- as.matrix(contrast$X) Contrastsi3 <- summary(glht(LME_01, c2))
真心希望各位能帮我解决这个奇异值的问题,让我能继续完成后续的分析!
内容的提问来源于stack exchange,提问作者Mohammed Ahmed
相关产品推荐
相关产品推荐

