Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change the data arg to .data to avoid partial matching issues #772

Merged
merged 13 commits into from Jun 11, 2021

Conversation

rich-iannone
Copy link
Member

In functions like cols_label(), having a column name close to data may result in a partial matching error. Here's a reproducible example of the error:

tribble(
  ~a , ~d ,
  1, 4,
  5, 8
) %>% 
  gt() %>% 
  cols_label(
    a = "label a",
    d = "label d"
  )
#> Error: The object to `data` is not a `gt_tbl` object.

This can be solved by changing the argument name to .data. For consistency, all instances of data as argument names in exported functions were changed to .data.

On the user side, there should hopefully be little disruption as all examples and ways of using the gt API don't use the argument name data (either via piping or through implicit use of data when just using gt()).

Fixes: #715

@jcheng5
Copy link
Member

jcheng5 commented May 28, 2021

Let's check lapply(as.list(as.environment("package:gt")), args) and see what other functions have unbounded possibilities for ...

@rich-iannone rich-iannone requested a review from jcheng5 May 30, 2021 00:49
@rich-iannone
Copy link
Member Author

Let's check lapply(as.list(as.environment("package:gt")), args) and see what other functions have unbounded possibilities for ...

The cols_label() and cols_width() functions both have ... but the only other non-data arg for both is .list. So no other issues there.

The summary_rows() and grand_summary_rows() functions also have ... but after looking at the function signatures of all the fmt_*() functions, none except for fmt_missing() (which you wouldn't use in summary_rows() or grand_summary_rows()) have arguments that collide with the summary functions. Quite a bit of testing was done to check that partial matching doesn't lead you to a strange error in the summary functions.

@rich-iannone
Copy link
Member Author

Changes have now been made to limit the data -> .data arg renaming to only the cols_label() and cols_width() functions.

@rich-iannone rich-iannone merged commit 3eb07d5 into master Jun 11, 2021
@rich-iannone rich-iannone deleted the data-arg branch June 11, 2021 20:02
rich-iannone added a commit that referenced this pull request Jun 11, 2021
* master:
  Fix for possible column name duplication when generating summary rows (#792)
  Change the `data` arg to `.data` to avoid partial matching issues (#772)
rich-iannone added a commit that referenced this pull request Jun 11, 2021
* master:
  Fix for possible column name duplication when generating summary rows (#792)
  Change the `data` arg to `.data` to avoid partial matching issues (#772)
rich-iannone added a commit that referenced this pull request Jun 11, 2021
* master:
  Fix for possible column name duplication when generating summary rows (#792)
  Change the `data` arg to `.data` to avoid partial matching issues (#772)
rich-iannone added a commit that referenced this pull request Jun 11, 2021
* master:
  Fix for possible column name duplication when generating summary rows (#792)
  Change the `data` arg to `.data` to avoid partial matching issues (#772)
rich-iannone added a commit that referenced this pull request Jun 11, 2021
* master: (24 commits)
  Fix for possible column name duplication when generating summary rows (#792)
  Change the `data` arg to `.data` to avoid partial matching issues (#772)
  Add the `force_sign` arg to several numeric formatters (#793)
  Add the `fmt_engineering()` and `fmt_integer()` formatter functions (#758)
  HTML summary row styling fix (#782)
  Refactor and improve rendering of title/subtitle components in HTML/LaTeX tables (#779)
  LaTeX bugfix for summary rows, and, implementation of grand summary rows (#768)
  Reinstate once failing test
  Include stub var in resolution of visible vars
  Use `seq_len()` instead of `seq()`
  Fix typo in README (#765)
  Increment version number (#762)
  Increase version number
  Documentation fixes (#759)
  Add missing topics to _pkgdown.yml
  Add `accounting` options for `fmt_percent()` and `fmt_number()` (#756)
  Simplify arguments for RTF page numbering
  Add the `fmt_bytes()` formatter function (#750)
  Simplify page numbering text
  Add testthat snapshot tests for RTF page numbering
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

column name leak/conflict?
2 participants