`dict_hash_with()`: Dictionary is full error after using pp_check() function from bayesplot package

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.
  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!

I’ve seen this error crop up with dplyr but I am not sure if that’s related to what is going on here:

1 Like