Releases: markfairbanks/tidytable
Releases Β· markfairbanks/tidytable
v0.11.2
v0.11.1
v0.10.1
v0.10.0
Deprecations
verb.()
functions are now deprecated (e.g.mutate.()
). Users should now use
theverb()
versions of functions.
New functions
tribble()
Functionality improvements
nest()
: Gains.by
and.key
argstidytable()
: Auto-names unnamed inputsslice_*()
family:by
arg added to matchdplyr
semantics.
.by
can still be called by the user instead ofby
.dt()
: Can uselet()
to add columns even on older versions ofdata.table
Bug fixes
expand_grid()
: Can use "unique" or "sorted" as column names (#718)
Breaking changes
slice_head()
/_tail()
:.by
arg must be explicitly named when slicing by group
Functions with notable speed improvements
mutate()
: When overwriting existing columns on data frames with a high
number of columns (>1000)
v0.9.2
New functions
cross_join()
group_cols()
map_vec()
pick()
separate_longer_delim()
separate_wider_delim()
separate_wider_regex()
Functionality improvements
separate()
: Can now handle when too many or too few new names are
specified ininto
arg (#666)unnest_longer()
: Gainskeep_empty
arg
Bug fixes
separate()
: Can overwrite separated column without removal (#680)na_if()
: Properly replacesNA
s wheny
is a vector (#689)across()
: Anonymous functions are properly translated (#699)pivot_wider()
:names_sort = FALSE
works (#705)
Deprecations
- Using
by = character()
in joins is now deprecated. Users should instead usecross_join()
.
v0.9.1
New functions
nest_join()
- Ranking functions:
min_rank()
dense_rank()
percent_rank()
cume_dist()
Functionality improvements
%in%
falls back tobase::'%in%'
when input types aren't compatible
withvec_in()
(@krterberg, #632)relocate()
: Can rename columns that are moved- Joins: Can now do cross joins by specifying
by = character()
group_by()
: Gains.add
argumentungroup()
: Gains...
arguments- Printing of grouped tidytables now shows grouping variables
Bug fixes
row_number()
: Works correctly on 0-row data frame when overwriting existing column (#639)slice_head()
/slice_tail()
: Properly slice on 0-row data frame (#642)
Functions with notable speed improvements
fill()
v0.9.0
Dotless functions!
tidytable
now exports dotless versions of all functions (e.g.arrange()
/mutate()
/etc.).verb.()
syntax is still available to users for backwards compatibility.- This will also allow users to use both
tidytable
anddplyr
by simply loading
dplyr
aftertidytable
, as theverb.()
functions won't be overwritten bydplyr
.
New functions
dplyr
-style interface to groupinggroup_by()
/ungroup()
group_vars()
is_grouped_df()
rowwise()
add_tally()
/tally()
case_match()
Functionality improvements
summarize()
: Gains.unpack
argumentpivot_longer()
: Can pass a single ptype or function to
values_ptypes
/values_transform
/names_ptypes
/names_transform
args.unnest_longer()
/unnest_wider()
: Can pass a single ptype or function to
ptype
/transform
args.
Bug fixes
tidytable::'%in%'
dispatches tobase::'%in%'
when comparing with a list (#563)pivot_wider()
: Works with column names with spaces (#569)pivot_wider()
:names_glue="{.value}_{somecolumn}"
assigns column names in
correct order (@Darxor, #579)left_join()
: Works when y matching columns inby
is a non matching column of x (#625)
v0.8.1
New Functions
consecutive_id.()
if_else.()
- Note: Alternate syntax
ifelse.()
(introduced in v0.4.0) will remain in the package
- Note: Alternate syntax
%in%
Functionality improvements
arrange.()
: Can use.env
inside arrange expressionscase_when.()
: Gains.default
/.ptype
/.size
argscoalesce.()
: Gains.ptype
/.size
argsrelocate.()
: Now properly handles multiple columns selected in.before
or.after
slice_min.()
/slice_max.()
: Gainwith_ties
argument
Bug Fixes
- Nested calls to
across.()
are handled properly (#505) across.()
: Can namespace functions in.fns
arg (#511)as_tidytable()
: Can keep row names when converting a matrix (#527)unnest.()
: Handles empty data frames (@roboton, #530)nth.()
: Extracts list elements (#534)arrange.()
: Properly sortsNA
s (#541)
Deprecations
arrange_across.
/mutate_across.
/summarize_across.
are now defunct. They have been
deprecated with warnings since v0.6.4 (Jul 2021). Users must now useacross.()
inside
arrange.()
/mutate.()
/summarize.()
.
v0.8.0
New functions
na_if.()
Functionality improvements
expand_grid.()
: Works with data frame inputsfirst.()
/last.()
/nth.()
: Gainna_rm
argmutate_rowwise.()
: Gains.keep
,.before
, and.after
argstidytable()
: Auto-unpacks unnamed data frame inputs
Breaking changes
count.()
: Default name is nown
instead ofN
to match dplyr semantics
Bug fixes
bind_cols.()
: Correctly handles lists (#446)
Functions with notable speed improvements
arrange.()
case.()
: Faster when conditions evaluate toNA
group_split.()
left_join.()
: Faster whenkeep = FALSE
(the default)select.()
uncount.()
Other notes
tidytable
no longer directly depends onlifecycle
v0.7.2
New functions
pmap.()
Functionality improvements
summarize.()
: Now sorts by the grouping variables when.by
is used.dt()
: Experimental support for tidy evaluationas_tidytable()
: Now defaults to.name_repair = "unique"
to relax restrictions on creating new tidytables
Functions with notable speed improvements
dt()
: Faster when adding new columns or updating existing columnsas_tidytable()
: Faster when convertingdata.frame
orlist
objects to a tidytableget_dummies.()