尝试从模型矩阵中提取信息时,lmer出现不一致的参数错误

森纳

我有一些纵向数据,希望在指定的时间获得预测的均值。该模型包括2个项,它们的相互作用和时间变量的样条项。当我尝试获取预测的均值时,出现“ mm%*%fixef(m4)中的错误:不合格的参数”

我使用来自lmer的sleep数据集来说明我的问题。首先,我导入数据并为交互创建一个变量“ age”

sleep <- as.data.frame(sleepstudy)  #get the sleep data
# create fake variable for age with 3 levels
set.seed(1234567)
sleep$age <- as.factor(sample(1:3,length(sleep),rep=TRUE))

然后我运行我的lmer模型

library(lme4)
library(splines)
m4 <- lmer(Reaction ~ Days + ns(Days, df=4) + age + Days:age + (Days | Subject), sleep) 

最后,我创建获取预测均值所需的数据和矩阵

#new data frame for predicted means
d <- c(0:9)  # make a vector of days = 0 to 9 to obtain predictions for each day
newdat <- as.data.frame(cbind(Days=d, age=rep(c(1:3),length(d))))
newdat$Days <- as.numeric(as.character(newdat$Days))
newdat$age <- as.factor(newdat$age)

# create a matrix 
mm<-model.matrix(~Days + ns(Days, df=4) + age + Days:age, newdat)  
newdat$pred<-mm%*%fixef(m4) 

正是在这一点上,我得到了错误:mm%*%fixef(m4)中的错误:参数不一致

我可以使用预测来获取手段

newdat$pred <- predict(m4, newdata=newdat, re.form=NA)

效果很好,但是我希望能够计算出置信区间,因此我需要一个合适的矩阵。

我在某处读到问题可能是lmer创建了别名(我找不到该帖子)。该评论是关于不能将effect()用于类似任务的。我不太明白如何克服这个问题。此外,我记得帖子有点旧,希望别名问题不再重要。

如果有人对我可能做错的事情有任何建议,我将非常感谢您的反馈。谢谢。

本·博克

这里有几件事。

  • 您需要删除列以使您的模型矩阵与实际拟合的固定效果向量相称(即,在删除共线列之后与实际用于拟合的模型矩阵相称)
  • 造成进一步混乱的是,您碰巧只采样了2和3岁(可能的{1,2,3}中)

我已经整理了一下代码...

library("lme4")
library("splines")
sleep <- sleepstudy  #get the sleep data
set.seed(1234567)
## next line happens to sample only 2 and 3 ...
sleep$age <- as.factor(sample(1:3,length(sleep),rep=TRUE))
length(levels(sleep$age))  ## 2

合适型号:

m4 <- lmer(Reaction ~ Days + ns(Days, df=4) +
    age + Days:age + (Days | Subject), sleep)
## message; fixed-effect model matrix is 
##    rank deficient so dropping 1 column / coefficient

检查固定效果:

f1 <- fixef(m4)
length(f1)  ## 7
f2 <- fixef(m4,add.dropped=TRUE)
length(f2)  ## 8

我们可以使用固定效果的扩展版本(其中有一个NA值),但是这只会NA通过在计算中传播值而使我们感到困惑……

检查模型矩阵:

X <- getME(m4,"X")
ncol(X)  ## 7
(which.dropped <- attr(getME(m4,"X"),"col.dropped"))
## ns(Days, df = 4)4 
##             6

预测均值的新数据框

d <- 0:9  
## best to use data.frame() directly, avoid cbind()
##   generate age based on *actual* levels in data
newdat <- data.frame(Days=d,
   age=factor(rep(levels(sleep$age),length(d))))

创建一个矩阵:

mm <- model.matrix(formula(m4,fixed.only=TRUE)[-2], newdat)
mm <- mm[,-which.dropped]   ## drop redundant columns
## newdat$pred <- mm%*%fixef(m4)    ## works now

sianagh添加的代码:获得置信区间并绘制数据图:

predFun <- function(x) predict(x,newdata=newdat,re.form=NA)
newdat$pred <- predFun(m4)
bb <- bootMer(m4,
   FUN=predFun,
    nsim=200)  
## nb. this produces an error message on its first run, 
## but not on subsequent runs (using the development version of lme4)
bb_ci <- as.data.frame(t(apply(bb$t,2,quantile,c(0.025,0.975))))
names(bb_ci) <- c("lwr","upr")
newdat <- cbind(newdat,bb_ci)

阴谋:

plot(Reaction~Days,sleep)
with(newdat,
    matlines(Days,cbind(pred,lwr,upr),
            col=c("red","green","green"),
            lty=2,
            lwd=c(3,2,2)))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试从模型矩阵中提取信息时,lmer出现不一致的自变量错误

来自分类Dev

矩阵乘法的R错误:不一致的参数

来自分类Dev

数据类型不一致:尝试插入数据时,预期的REF出现了..错误

来自分类Dev

矩阵乘法错误:参数不一致。我想知道为什么如果b%* c有效时尝试解决c%*%b时出现此错误

来自分类Dev

在VBA中使用带有RecordSet Open参数的ADODB时出现不一致的错误

来自分类Dev

在Clojure中尝试Redef函数时出现不一致

来自分类Dev

webm提取aac时,时长不一致

来自分类Dev

尝试使用JavaScript客户端在不一致时发送一个命令时出现Discord API错误[已解决]

来自分类Dev

程序关闭时出现SQL Alchemy不一致错误

来自分类Dev

将darray存储到Shape中时出现不一致的错误

来自分类Dev

Oracle-检查null日期时出现不一致的数据类型错误

来自分类Dev

循环遍历 URL 列表时,以不一致的方式出现“ValueError: No tables found”错误

来自分类Dev

Delphi XE7中的登录程序出现错误:参数对象定义不正确。提供的信息不一致或不完整

来自分类Dev

glmnet错误-参数不一致

来自分类Dev

尝试在 win 32 中禁用窗口大小调整时出现不一致的窗口样式行为

来自分类Dev

尝试从Polygon OSMNX中提取信息时出错

来自分类Dev

在使用局部函数时检查用户ID时出现不一致的错误。(Discord.js)

来自分类Dev

XAML错误不一致

来自分类Dev

错误不一致1004

来自分类Dev

从这个不一致的数据集中提取电影名称的策略?

来自分类Dev

从R中不一致的字符串中提取数字

来自分类Dev

Scilab:“不一致的乘法”错误信息

来自分类Dev

Scilab:“不一致的乘法”错误信息

来自分类Dev

JSON 格式有时不一样,如何从不同的 JSON 格式中提取信息?

来自分类Dev

AngularJS工厂信息不一致

来自分类Dev

剑道上传:文件信息不一致?

来自分类Dev

尝试获取每个进程的打开文件数时与lsof命令不一致

来自分类Dev

当我尝试重建它时,可访问性不一致

来自分类Dev

Rspec + Capybara + Ember出现不一致的“无法找到CSS”错误

Related 相关文章

  1. 1

    尝试从模型矩阵中提取信息时,lmer出现不一致的自变量错误

  2. 2

    矩阵乘法的R错误:不一致的参数

  3. 3

    数据类型不一致:尝试插入数据时,预期的REF出现了..错误

  4. 4

    矩阵乘法错误:参数不一致。我想知道为什么如果b%* c有效时尝试解决c%*%b时出现此错误

  5. 5

    在VBA中使用带有RecordSet Open参数的ADODB时出现不一致的错误

  6. 6

    在Clojure中尝试Redef函数时出现不一致

  7. 7

    webm提取aac时,时长不一致

  8. 8

    尝试使用JavaScript客户端在不一致时发送一个命令时出现Discord API错误[已解决]

  9. 9

    程序关闭时出现SQL Alchemy不一致错误

  10. 10

    将darray存储到Shape中时出现不一致的错误

  11. 11

    Oracle-检查null日期时出现不一致的数据类型错误

  12. 12

    循环遍历 URL 列表时,以不一致的方式出现“ValueError: No tables found”错误

  13. 13

    Delphi XE7中的登录程序出现错误:参数对象定义不正确。提供的信息不一致或不完整

  14. 14

    glmnet错误-参数不一致

  15. 15

    尝试在 win 32 中禁用窗口大小调整时出现不一致的窗口样式行为

  16. 16

    尝试从Polygon OSMNX中提取信息时出错

  17. 17

    在使用局部函数时检查用户ID时出现不一致的错误。(Discord.js)

  18. 18

    XAML错误不一致

  19. 19

    错误不一致1004

  20. 20

    从这个不一致的数据集中提取电影名称的策略?

  21. 21

    从R中不一致的字符串中提取数字

  22. 22

    Scilab:“不一致的乘法”错误信息

  23. 23

    Scilab:“不一致的乘法”错误信息

  24. 24

    JSON 格式有时不一样,如何从不同的 JSON 格式中提取信息?

  25. 25

    AngularJS工厂信息不一致

  26. 26

    剑道上传:文件信息不一致?

  27. 27

    尝试获取每个进程的打开文件数时与lsof命令不一致

  28. 28

    当我尝试重建它时,可访问性不一致

  29. 29

    Rspec + Capybara + Ember出现不一致的“无法找到CSS”错误

热门标签

归档