Open n-kall opened 10 months ago
Hmm yeah, to be consistent with other cases where this comes up, conversion functions from draws_df
(which I believe is the only format that supports unequal chain lengths) to other formats should probably check for this. When it happens, it should either raise an error, or merge chains and warn with warn_merge_chains("index")
.
I suppose there is an implicit expectation that all chains are the same length, but different lengths can occur when doing filtering with e.g. dplyr. I think the recommended workflow should likely be to merge chains before doing this kind of filtering, but I guess that can't be enforced.
Currently, different draws formats handle chains of varying length differently in how they calculate
niterations
(even after repairing). And draws_array does not allow different length chains at all -> I think the error message could point tomerge_chains
as a solution.Consider filtering a draws_df based on the value of some variable (below dplyr is used to do so, but it could be done in base R syntax). This can end up with a draws_df that has different length chains.
Should there be a message/warning given when a draws object has different length chains that suggests
merge_chains
?