jags.model
需要一个包含BUGS模型的文件名作为它的第一个参数。为了将所有内容包含在一个脚本中,我有时使用writeLines
命令将BUGS模型写入文件。例如,
library(rjags)
writeLines("
model {
for (i in 1:length(Y1)) {
Y1[i] ~ dnorm(Beta0, Beta1)
}
Beta0 ~ dunif(1, 5)
Beta1 ~ dunif(0, 10000)
}
"
, "m1.jags")
mod1 <- jags.model("m1.jags", data=Data)
但是,如果我有选择的话,我真的不希望文件被创建。
有没有办法在R中创建包含文本的某种虚拟文件?
我在想,可能有某种方式可以将字符串写入变量,使用R连接在某种程度上模仿文件的特性。
我所想的那些粗略的伪代码:
m1.jags <- "model {
...
}
"
jags.model(SomeRCommand(m1.jags), data=Data)
发布于 2012-05-20 23:28:31
谢谢你@Andrie告诉我答案:也就是说,用textConnection
函数包围字符变量。
为了完整起见,以下是它如何应用于我的具体问题:
m1.jags <- "
model {
for (i in 1:length(Y1)) {
Y1[i] ~ dnorm(Beta0, Beta1)
}
Beta0 ~ dunif(1, 5)
Beta1 ~ dunif(0, 10000)
}
"
, "m1.jags")
mod1 <- jags.model(textConnection(m1.jags), data=Data)
https://stackoverflow.com/questions/10680888
复制