首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将变量传递给R中的WinBugs模型

将变量传递给R中的WinBugs模型
EN

Stack Overflow用户
提问于 2015-01-13 16:42:03
回答 1查看 325关注 0票数 2

我正在使用R2WinBugs包。我想将前面在R脚本中计算的两个参数传递给模型函数

代码语言:javascript
复制
c0yy <- 0.1
syy <- 0.0001
#Model
model <- function(c0yy,syy){

  #Likelihood
  for(i in 1:n){
    y[i] ~ dnorm(mu[i],cyy)
  }

  #Regression formula
  for(i in 1:n){
    mu[i] <- alpha + gamma * x[i]
  }

  #Priors for the regression parameters
  alpha ~ dnorm(0,0.000001)
  gamma ~ dnorm(0,0.000001)

  #Priors for the precision parameter
  cyy ~ dnorm(c0yy,syy)

  #Monitored variables
  beta <- gamma/(alpha-1)  
}
filename <- file.path(tempdir(), "Olm.txt")
write.model(model, filename)

但我知道这个错误

代码语言:javascript
复制
made use of undefined node c0yy

当我在模型函数中用c0yysyy替换值时,它是有效的。有什么帮助吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-14 08:28:56

要传递到模型的值是数据。在BUGS (和R2WinBUGS)中,数据作为独立的实体传递给程序,而不是您定义的模型。为了包括数据,你可以把它们放到一个列表中,比如;

代码语言:javascript
复制
my.mcmc <- bugs(data = list(c0yy = 0.1, syy= 0.0001), params = "beta', model.file = "Olm.txt", n.iter=10000) 

您还需要从模型脚本中删除<- function(c0yy,syy)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27927118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档