weighted_ntile is less susceptible to integer overflow (#36)samp works with size > length.provide.file To ensure a file (including its directory) exists.provide.dir returns the directory requested on success.%<->% To swap values between objects
average_bearing, the bearing bisecting two vectors
dir2, (Windows only) a much faster version of dir()
Mode, statistical mode
replace_pattern_in to find-and-replace on a pattern in all files in a directory
samp, a ‘safe’ version of sample.
drop_empty_cols should now be faster, especially when there are few empty columns.weight2rows supports rows.out < 1 to produce a sample.weight2rows is now faster for default arguments, by using the rep(x, w) trick used in tidyr::uncount.mutate_ntile now works for a variable with DTfind_pattern_in now accepts file_contents_ignore_case.find_pattern_in no longer complains about perl, fixed conflicts.weight2rows:
weighted_quantile, like quantile but for weighted dataweighted_ntile, like dplyr::ntile but for weighted datamutate_ntile convenience function for adding new column with ntilestrim_common_affixes, and associated helpers longest_prefix and longest_suffix.weight2rows gains a rows.out argument to specify the number of rows in the result.New functions:
RQ(p, yes, no) short for if (!requireNamespace("p", quietly = TRUE)) yes else no.isAttached for conveniently determining whether a namespace is attachedahull for locating rectangles in a plot, as for automatically locating a text box.Switch vectorized version of switch to avoid nested if_else’s.drop_grep is an alias for drop_colr.
Minor changes:
if_else reports a clearer error message when length(condition) == 1.find_pattern_in respects include.commentsfind_pattern_in accepts argument which_lines to allow multiple lines per file, not just the first (the default).auc: area under the curve given predicted and actual values.select_grep: select columns matching a pattern.dev_copy2a4: convenience function for copying to an A4 PDF.if_else should be slightly faster when the condition contains NAs. before: 3.6 ms now 1.5 ms (for 100,000 entries – see vignette)drop_constant_cols first checks whether the first and second entries are identical before working out the number of unique values.%notchin% for a ‘safer’ alternative to %notin%.implies, logical implies.drop_constant_colsprint_transpose_data_table for glimpsing data tables by rowspow for exponentiation.drop_empty_cols retains non-empty columns when duplicate names are used.coalesce errors if there is ... wrongly contains factors.if_else to reflect dplyr’s formals so it can be a drop-in replacement.missing value in if_else when length-one condition.NEWS.md file to track changes to the package.%ein% %enotin% avoid misspellings in filtersAND, NEITHER, NOR, OR, nor, neither logical aliasesdrop_colr drop columns matching patternngrep negate regular expressionselect_which similar to dplyr::select_ifset_colsuborder change the order of some columns without affecting the order of othersweight2rows convert a weighted data.table to an unweighted one by repeating rows by the weightcoalesce and if_else: lightweight versions of dplyr:: equivalentsset_cols_first|last now respects the order of the supplied columnsmutate_other now accepts a mass argument as another way to generate an ‘Other’ column.