首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Stan模型中的括号语法和解析错误

Stan模型中的括号语法和解析错误
EN

Stack Overflow用户
提问于 2022-07-14 15:26:38
回答 1查看 88关注 0票数 1

我试图跟随一系列的人口分析的Stan模型教程和演示,它们是基于Kéry和Schaub的“贝叶斯总体分析”中的模型和代码。我突然遇到了一些解析失败,我不熟悉Stan代码。我检查了stan手册(可在此下载)中不推荐的特性,但据我所知,代码看起来是最新的。

以下是一些会话信息:r版本4.0.3,rstan_2.21.5,StanHeaders_2.21.0-7,Rcpp_1.0.9,RcppParallel_5.1.5

当我在链接的GitHub站点上运行任何一个示例模型时,都会遇到相同的错误:

代码语言:javascript
复制
SYNTAX ERROR, MESSAGE(S) FROM PARSER:

error in 'modelxyz' at line 6, column 20
  -------------------------------------------------
     4: 
     5: functions {
     6:   int first_capture(array[] int y_i) {
                           ^

PARSER EXPECTED: <argument declaration or close paren ) to end argument declarations>
Error in stanc(file = file, model_code = model_code, model_name = model_name,  : 
  failed to parse Stan model 'cjs_age' due to the above error.
In addition: Warning message:
In readLines(file, warn = TRUE) :
  incomplete final line found on '~/example-models/BPA/Ch.07/cjs_age.2.stan'

例如,R脚本在提供了名为"7.7_Models_with_age_effects.R“的链接上调用Stan模型,其中包含模型"cjs_age.stan”和数据"cjs_age.data.R“。我还在代码中寻找缺失的分号,但在我看来,这一切都是正确的,因为我对stan语法并不熟悉。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-20 08:01:19

我以前从未见过将int数组声明为输入的方式。这要么是一个很老的斯坦版本,要么是一个全新的版本,或者是我不知道的另一种方式。无论如何,您应该能够通过指定这样的int数组来修复代码:

代码语言:javascript
复制
functions {
    int first_capture(int[] y_i) {
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72983015

复制
相关文章

相似问题

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