对于使用BRugs的R中的多项式回归模型,我收到错误“ handleRes(res)中的错误:NA”。下面的代码是一个类似的示例,它更简单并且给出相同的错误。
模型已编译,但在初始化步骤失败。
dmulti()似乎有一些问题,因为如果将结果更改为一个分类变量并使用dcat(),代码将起作用。
library(BRugs)
library(Hmisc)
n<-100
K<-4
dat<-t(rmultinom(n,2,rep(1/K,K)))
datlist<-list(y=dat,N=n)
bugsData(datlist, file="./test.txt")
modelString = "
model
{# likelihood
for (i in 1:N) {
denom[i]<-1+exp(beta[1])+exp(beta[2])+exp(beta[3])
p[i,1]<-exp(beta[1])/denom[i]
p[i,2]<-exp(beta[2])/denom[i]
p[i,3]<-exp(beta[3])/denom[i]
p[i,4]<-1/denom[i]
y[i,1:4]~dmulti(p[i,1:4],2)
}
# priors
for(k in 1:3) {
beta[k]~dnorm(0,0.0001)
}
}
"
writeLines(modelString,con="./model.txt")
modelFile="./model.txt"
mydata="./test.txt"
modelCheck(modelFile)
modelData(mydata)
modelCompile(numChains=1)
modelGenInits()
modelCheck(modelFile)
模型在语法上是正确的
modelData(mydata)
数据已加载
modelCompile(numChains = 1)
已编译模型
modelGenInits()
handleRes(res)错误:不适用