JAGS 模型中的未知变量错误
Unknown variable error in JAGS model
我目前正在尝试在 JAGS 中开发模型,但不幸的是,我不断收到以下错误:
Error in jags.model(file = "Model.txt", n.adapt = MCMCAdapt) :
RUNTIME ERROR:
Compilation error on line 15.
Unknown variable precedentCount
Either supply values for this variable with the data
or define it on the left hand side of a relation.
以下是标题为 "Model.txt" 的文件中的内容:
model {
for (i in 1:citationCount) {
Z[i] ~ dbern(Z.hat[i])
Z.hat[i] <- phi(kappa - lambda*pow(x.precedent[newPrecedentID[i]] - x.brief[newBriefID[i]], 2))
}
for (j in 1:briefCount) {
x.brief[newBriefID[j]] ~ dnorm(0,1)
}
for (k in 1:precedentCount) {
x.precedent[newPrecedentID[k]] ~ dnorm(0,1)
}
kappa ~ dunif(-10,10)
lambda ~ dunif(-10, 0)
}
我对为什么会出现错误感到有点困惑,因为 precedentCount
已经在 R 的环境中定义:
> precedentCount
[1] 650
briefCount
和 citationCount
也是如此,但它们并没有产生相同的错误(至少目前还没有):
> briefCount
[1] 126
> citationCount
[1] 2948
如果有人能告诉我如何解决这个问题,我将不胜感激。
您需要将所有数据作为参数提供给 JAGS jags.model(data = list(...))
。 precedentCount
出现是因为这只是第一个错误。
data_list <- list(precedentCount = 650,
briefCount = 126,
citationCount = 2948,
newPrecedentID = ...))
jags.model(file = "Model.txt", n.adapt = MCMCAdapt, data = data_list)
我目前正在尝试在 JAGS 中开发模型,但不幸的是,我不断收到以下错误:
Error in jags.model(file = "Model.txt", n.adapt = MCMCAdapt) :
RUNTIME ERROR:
Compilation error on line 15.
Unknown variable precedentCount
Either supply values for this variable with the data
or define it on the left hand side of a relation.
以下是标题为 "Model.txt" 的文件中的内容:
model {
for (i in 1:citationCount) {
Z[i] ~ dbern(Z.hat[i])
Z.hat[i] <- phi(kappa - lambda*pow(x.precedent[newPrecedentID[i]] - x.brief[newBriefID[i]], 2))
}
for (j in 1:briefCount) {
x.brief[newBriefID[j]] ~ dnorm(0,1)
}
for (k in 1:precedentCount) {
x.precedent[newPrecedentID[k]] ~ dnorm(0,1)
}
kappa ~ dunif(-10,10)
lambda ~ dunif(-10, 0)
}
我对为什么会出现错误感到有点困惑,因为 precedentCount
已经在 R 的环境中定义:
> precedentCount
[1] 650
briefCount
和 citationCount
也是如此,但它们并没有产生相同的错误(至少目前还没有):
> briefCount
[1] 126
> citationCount
[1] 2948
如果有人能告诉我如何解决这个问题,我将不胜感激。
您需要将所有数据作为参数提供给 JAGS jags.model(data = list(...))
。 precedentCount
出现是因为这只是第一个错误。
data_list <- list(precedentCount = 650,
briefCount = 126,
citationCount = 2948,
newPrecedentID = ...))
jags.model(file = "Model.txt", n.adapt = MCMCAdapt, data = data_list)