knitr::opts_chunk$set( collapse = TRUE, message = FALSE, warning = FALSE, comment = "#>", fig.path = "man/README/README-" )
This package contains {tidyverse}
-like functions that I use often in projects.
remotes::install_github("tonyelhabr/tetidy")
.
Here is a list of all functions in the package.
library("tetidy") ls("package:tetidy")
TODO!
{tidyverse}
-like"col
s to var
s and data
to .data
?col_names
is the tidyverse answer to header = TRUE"
and
"col_types
is the tidyverse answer to colClasses
" (although these seem
to be directly referring to {readr}
's conventions, and no explicity mention
of "col
vs. var
" is made._at
functions to be use manip_at()
internal function,
as shown in mutate_at()
and summarise_at()
implementations in {dplyr}
.
(See https://github.com/tidyverse/dplyr/blob/2e6ca1676ece390b7a3e0a76b52c6bbf1464a180/R/colwise-mutate.R.)_at
-suffixed functions as the core implementation,
and creating NSE wrappers without such a suffix. (e.g. See the summarise_stats()
function implementation in this package). Although this is not "in line" with
how _at
-suffixed functions "should" work in the {tidyverse}
, it is
convenient for me personally. Also, note that a "robust" fix would require
some non-trivial re-factoring and may not be worth the errort/time for such
a "peronsal" package as this..
. In general,
implement the take-aways from the discussion at
https://community.rstudio.com/t/function-argument-naming-conventions-x-vs-x/7764/15
(discussion on {tidyverse}
package function argument naming conventions).
(As explained in the
{forcats}
0.3.0 release notes,
"Consistent with other tidyverse packages, all functions that take ...
now use tidy dots. This means that you can use !!! to splice in a list of values."
Also, per Hadley's response at https://github.com/tidyverse/style/issues/75
"It is not a general principle. It's something that only apply to FP tools like
purrr, because you don't want to confuse the arguments to map() with the
arguments to .f".)col
vs. var
" and "data
vs. .data
". Additionally not using prefixes
simplifies things from a developer's perspective. And, since the functions
in this package are not intended to be as "dynamic" as the core {dplyr}
functions,
one can argue that it is ok to go against the accepted
conventions of argument naming.@return
keywords "uniform".
"Use a standard @return
blurb to document a returned tibble, i.e. don't just say "a data frame".
A good start, for now: @return A [tibble][tibble::tibble-package]
.pull_distinctly()
data
and var
to match dplyr::pull()
argument names exactly.arrange_distinctly()
data
and ...
to match dplyr::distinct()
argument names exactly.rank_unique(x)
-xtfrm(x)
instead of dplyr::row_number()
(which are equivalent)?{dplyr}
is being used so much anyways...rank_arrange()
key
and value
or into
argument names (like tidyr::gather()
and tidyr::spread()
)
(instead of var
and var_out
.data
argument name because it matches dplyr::mutate
's data
.mutate()
._at
form can better be combined with the non-suffixed form.add_*()
-type function? (The add_
prefix to a
function can be used to indicate to the user that a new column is being created.)add_rnk_col()
.data
?count_arrange()
_at
form can better be combined with the non-suffixed form.data
?summarise_stats()
join_fuzzily()
summarise_join_stats()
reorder_one_of_at()
, reorder_one_of_at()
{dplyr}
-like handling
of _at
functions (which is unlikely, then these would need to be updated.separete_cols()
, unlist_tidily()
yaml
to some
other format (e.g. {argparser}
-acceptable format).Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.