由错误的指数代码(不是数据长度)引起的 WinBUGS 错误 'expected key word END'

WinBUGS error 'expected key word END' caused by wrong exponential code (not length of data)

问:谁能告诉我一个WinBUGS数据文件的最大数据行数?

我是怎么发现有最大值的。 在 R2WinBUGS 中构建和测试 WinBUGS 模型时,我构建了一个虚拟数据集,其中包含 6 个变量(18750 行)的所有可能数据组合。 通过 运行 R 中的代码,WinBUGS 构建模型并加载数据然后崩溃。直接在 WinBUGS 中重复此操作后,我在加载数据时收到消息 'expected key word END',尽管我的数据文件末尾有 'END'(包括之后所需的空行)。我花了一些时间才发现削减大量数据行可以解决问题。我在网上找到的 WinBUGS 手册或教程中没有任何信息(据我所知)。

更新:发现372行太长,216行可以。我猜 254 是最大长度。

回答

偶然发现的。问题不是数据长度,而是 X.Xe-4 而不是 X.XE-4 的存在(手册中明确说明,我只是在看到错误 'expected key word END'。限制数据长度只是限制了在我的数据集中获得小数字的概率。

参见上面我自己的回答:是 X.Xe-X 而不是 X.XE-X 在数据集中的存在导致了 'expected key word END'

2015 年 12 月 2 日更新: 仅供参考:我在输入 2E-07(从 R 样式 2e-07 更改而来)时遇到了同样的错误。正确格式为 2.0E-07 或 2.0E-7。