Contributions to skimr
whether in the form of bug fixes, issue reports, new
code or documentation improvement are welcome. Please use the github issue
tracker. For any pull request please link to or open a corresponding issue in
the issue tracker. Please ensure that you have notifications turned on and
respond to questions, comments or needed changes promptly.
skimr
solves a very specific set of problems focused on the compact, flexible
and useful display of summary data in the console. By itself it is not intended
as a replacement for packages that create publication ready tables. The basic
concept is that of "skimming" a data frame or tibble to get an overview of the
data it contains.
One intended group of users is students in a first semester statistics class. As
such, the package is focused on data types that are widely used. One general
guideline is that if a data type is not found in the datasets
package it will
not be directly supported in skimr
. Fortunately, skim()
has a generic
internal function for handling a variety of data types get_skimmers()
. See the
documentation for that function or the vignette "Supporting additional objects"
for documentation on how to do this.
Similarly, skimr
is deeply tied to the tidyverse
and dplyr
in particular.
The comes with a lot of benefits, but some constraints too. Most importantly,
data processed by skim()
needs to be an object that inherits from a data frame
or in a form that can be coerced to a data frame.
skimr
uses testthat
for testing. Please try to provide 100% test coverage
for any submitted code and always check that existing tests continue to pass. If
you are a beginner and need help with writing a test, mention this in the issue
and we will try to help.
Pull requests should be against the develop branch not the main branch. You can set this when creating your pull request. Please make a separately named branch to submit. Keep each branch for a complete specific issue. If you create a pull request by editing in the GitHub web editor and you end up with multiple pull requests, note that in your issue comments.
We follow the tidyverse style guide.
To enforce coding style and support development, we rely on [pre-commit.com],
and the R precommit package. This
tool runs a series of additional checks for your code before git commit
completes.
To install the package and enable precommits, run the following:
# once on your system
remotes::install_github("lorenzwalthert/precommit")
precommit::install_precommit()
# once in every git repo either
# * after cloning a repo that already uses pre-commit or
# * if you want introduce pre-commit to this repo
precommit::use_precommit()
The checks will run automatically from there.
When contributing to skimr
you must follow the code of conduct defined by rOpenSci.