首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R stan 8学校示例faile

R stan 8学校示例faile
EN

Stack Overflow用户
提问于 2018-10-09 12:58:48
回答 1查看 332关注 0票数 0

我正在尝试从这个官方的教程中运行经典的r-stan示例。但我做不到,因为我得到了以下错误消息:

我使用的代码如下:

代码语言:javascript
复制
schools_dat <- list(J = 8, 
                    y = c(28,  8, -3,  7, -1,  1, 18, 12),
                    sigma = c(15, 10, 16, 11,  9, 11, 10, 18))
fit <- stan(file = '8schools.stan', data = schools_dat, 
            iter = 1000, chains = 4)

在8schools.stan文件中,我还创建并嵌套了以下代码:

代码语言:javascript
复制
data {
  int<lower=0> J; // number of schools 
  real y[J]; // estimated treatment effects
  real<lower=0> sigma[J]; // s.e. of effect estimates 
}
parameters {
  real mu; 
  real<lower=0> tau;
  real eta[J];
}
transformed parameters {
  real theta[J];
  for (j in 1:J)
    theta[j] = mu + tau * eta[j];
}
model {
  target += normal_lpdf(eta | 0, 1);
  target += normal_lpdf(y | theta, sigma);
}

我想找出这个错误的原因,以及如何避免它,

此外,我还想指出:

  1. 以下代码工作正常,并返回10: fx <-内联::REAL函数(签名(x=“整型”,y=“数值”),‘返回ScalarReal(整数(X)*实(Y));’) fx( 2L,5)
  2. 我已经安装了Rtools的最新冻结版本。
  3. 此外,Rtools、R和Rstudio位于没有空格的文件夹中。
  4. 我在Windows上工作(不是笔记本电脑)
  5. 我一直严格遵循安装导轨的所有步骤。

将是非常伟大的帮助!

更新

我还按照Ben的建议设置了Sys.setenv(USE_CXX14=1),但现在我得到了以下错误消息

EN

回答 1

Stack Overflow用户

发布于 2018-10-09 15:11:12

这是一个暂时的问题,因为(本周) StanHeaders R包(它需要C++14)已经在CRAN上被接受,但还没有rstan包(它使用C++14编译模型)。因此,就目前而言,您首先需要调用Sys.setenv(USE_CXX14=1),但是任何在未来阅读这篇文章的人都不太可能需要显式地这样做( rstan包将在内部完成)。

在Windows上,您需要将CXX14=g++ -std=c++1y CXX14FLAGS=-O3放到~/.R/Makevars文件中,但是在Mac上,这些行应该已经存在了。

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

https://stackoverflow.com/questions/52721672

复制
相关文章

相似问题

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