重新思考的参数顺序:: dnorm()之前的映射转换

时间:2016-06-16 15:55:25

标签: r

我正在使用rethinking包来构建高斯模型。但是我对dnorm() dnorm()翻译中的参数顺序感到有点困惑。

如您所知,(x, mean = 0, sd = 1)有三个参数:dnorm(0, 10)。但在重新思考的教科书和文档页面中,所有示例都遵循以下结构:dnorm(x = 0, mean = 10, sd = 1)

通常R会将其解释为m.X <- map( alist( x ~ dnorm(mu, sigma), mu <- a, a ~ dnorm(0, 10), sigma ~ dnorm(0, 10) ), data = d ) 。但在这个示例模型中:

a

sigma(和mean = 0)优先事项旨在反映sd = 10map

我只想确保dnorm()的{​​{1}}翻译有效a ~ dnorm(a, mean = 0, sd = 10)而不是a ~ dnorm(x = 0, mean = 10, sd = 1)

提前感谢您的澄清!

1 个答案:

答案 0 :(得分:0)

我实际上通过电子邮件发送了重新思考包(和教科书)的作者,我刚收到回复!

  

嗨,[emehex]。对,'a'进入函数内的第一个位置。

a ~ dnorm(0, 10)函数内的map() 被翻译为:

dnorm(a, mean = 0, sd = 10)

使用以下代码行可以显示先验:

curve(dnorm(x, mean = 0, sd = 10), from = -100, to = 100)