微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用R-INLA运行混合效果模型时的错误消息

如何解决使用R-INLA运行混合效果模型时的错误消息

我正在使用r-inla运行以下模型(Treatment,Animal.1和Animal.2是因子,Encounter.Length是连续的):

formula <- Encounter.Length ~ Treatment +f(Animal.1,model = "iid",n = n.animal) + 
           f(Animal.2,copy = "Animal.1")

m.1 <- inla(formula,data = inla.dat)

但是,运行此代码后,我收到以下错误消息:

inla(公式,数据= inla.dat)中的错误: 在f(Animal.1)中:“协变量”必须与“值”匹配,并且两者都必须为“数字”或“因子” /“字符”。

我是使用INLA的新手,想知道此错误消息的含义以及解决方法

解决方法

答案(来自r-inla.help):B的级别不是A的子集(用于定义B副本的模型)。因此,您必须在级别的并集上定义模型。

例如:

n <- 3 
A <- as.factor(letters[1:n]) 
B <- as.factor(letters[1+1:n]) 
y <- 1:n 

这不起作用

inla(y ~ -1 + f(A) + f(B,copy = "A"),data = data.frame(A,B)) 

但这是

values <- as.factor(unique(c(levels(A),levels(B)))) 
inla(y ~ -1 + f(A,values = values) + f(B,data = list(A = A,B = B,values = values))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。