facet_grid()
evaluates facets before adding margins
#5944
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to fix #1864.
Briefly, we evaluate facet variables before adding margins and keep track of margins via an index.
To explain a little; the issue results from (1) margins requiring all faceting variables to be present and (2) faceting values require all margins to be computed. We cannot satisfy both due to their interdependence. This PR solves the issue by evaluating all faceting variables before adding margins, thus satisfying (1) but not (2). The reason for requiring (2) is just so that data is recycled correctly along with the margins. In this PR, we use an index column to keep track of how the original data should be recycled to fit the margins.
Reprex from issue:
Created on 2024-06-14 with reprex v2.1.0