首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R bugs命令的输出

R bugs命令的输出
EN

Stack Overflow用户
提问于 2013-01-10 20:23:39
回答 1查看 122关注 0票数 0

我从R运行winbugs,并且我需要在R输出中使用一些变量。当我在R中输入schools.sim$mean$theta[1]时,我得到10.2。但是,当我键入schools.sim$2.5%$theta[1]时,出现一条错误消息。有没有人知道我做错了什么,或者有没有其他方法来得到贝叶斯区间?

下面是一个例子

代码语言:javascript
复制
Here is the R code
library(R2WinBUGS)
data(schools)
J <- nrow(schools)
y <- schools$estimate
sigma.y <- schools$sd
data <- list ("J", "y", "sigma.y")


inits <- function(){
list(theta = rnorm(J, 0, 100), mu.theta = rnorm(1, 0, 100),
sigma.theta = runif(1, 0, 100))
}

schools.sim <- bugs(data, inits, model.file = "D:/model.txt",
parameters = c("theta", "mu.theta", "sigma.theta"),
n.chains = 3, n.iter = 1000,
bugs.directory = "D:/PROGRAMLAR/WinBUGS14/")

schools.sim

这是winbugs代码,必须以model.txt的形式存储在D中。

代码语言:javascript
复制
model {
for (j in 1:J)
{
 y[j] ~ dnorm (theta[j], tau.y[j])
 theta[j] ~ dnorm (mu.theta, tau.theta)
 tau.y[j] <- pow(sigma.y[j], -2)
 }
mu.theta ~ dnorm (0.0, 1.0E-6)
tau.theta <- pow(sigma.theta, -2)
sigma.theta ~ dunif (0, 1000)
}

不要忘记更改存储winbugs文件夹的bugs目录。

EN

回答 1

Stack Overflow用户

发布于 2013-01-10 20:34:38

使用quantile可以观察到相同的行为

代码语言:javascript
复制
> quantile(runif(100))$0%
Error: unexpected numeric constant in "quantile(runif(100))$0"

只需使用:

代码语言:javascript
复制
> quantile(runif(100))['0%']
        0% 
0.03293488

问题是%是R中保留字符。

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

https://stackoverflow.com/questions/14257876

复制
相关文章

相似问题

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