Operating System: high performance computing cluster using CentOS Linux 7
R v. 4.0.3
brms v. 2.15.0
bayesplot v. 1.8.1
Rstan v. 2.21.2
I created GAMMs using the brms package (v. 2.15.0) and am evaluating the models by creating posterior predictive check plots using the bayesplot package (v. 1.8.1). When I run the function:
pp_check(m, type=”intervals”)
on any of my models, m, I get the following error message:
Error: Internal error in `dict_hash_with()`: Dictionary is full.
Backtrace:
█
1. ├─bayesplot::pp_check(m, type = "intervals")
2. └─brms:::pp_check.brmsfit(m, type = "intervals")
3. └─brms::do_call(ppc_fun, ppc_args)
4. └─brms:::eval2(call, envir = args, enclos = parent.frame())
5. └─base::eval(expr, envir, ...)
6. └─base::eval(expr, envir, ...)
7. └─bayesplot:::.fun(.x1, .x2)
8. └─bayesplot::ppc_intervals_data(...)
9. └─bayesplot:::.ppc_intervals_data(...)
10. ├─dplyr::group_by(molten_reps, !!!group_vars)
11. └─dplyr:::group_by.data.frame(molten_reps, !!!group_vars)
12. └─dplyr::grouped_df(groups$data, groups$group_names, .drop)
13. └─dplyr:::compute_groups(data, vars, drop = drop)
14. └─dplyr:::vec_split_id_order(group_vars)
15. └─vctrs::vec_group_loc(x)
16. └─(function () ...
Execution halted
I assume the issue has something to do with the size of the model? I receive the error for all of my models, the smallest of which is 4,325 Kb (the data frame used to create the model has 57,255 data points). I am able to create other pp_check types without receiving the error (for example pp_check(m), pp_check(m, type = “ecdf_overlay”) and pp_check(m, type = “stat”, stat=“mean”) all work without error).
I am running the pp_check(m, type=”intervals”) code because I want to create a plot like this one:
If anyone has insights into this error, or knows of alternative ways to create an intervals type plot like the one above, they would be appreciated! Please let me know if I should provide additional information. Thank you!