The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
fct_na_value_to_level()
and
fct_na_level_to_value()
to convert NA values to NA levels
and vice versa (#337).All functions now validate their inputs, giving more useful errors if you accidentally misspecify an input.
fct_collapse()
can now use
other_level = NA
(#291).
fct_count()
works with factors that contain
NA
s in levels.
fct_explicit_na()
is deprecated in favour of
fct_na_value_to_level()
.
fct_expand()
gains an after
argument so
that you can choose where the new levels are placed (#138).
fct_infreq()
gains the ability to weight by another
variable using the w
argument (#261).
fct_inorder()
now works when not all levels appear
in the data (#262).
fct_lump_prop()
and friends now work correctly if
you supply weights and have empty levels (#292).
fct_lump_n()
and fct_lump_prop()
will
now create an “Other” level even if it only consists of a single level.
This makes them consistent with the other fct_lump_*
functions (#274).
fct_other()
no longer generates a warning if no
levels are replaced with other (#265).
fct_relevel()
, fct_cross()
, and
fct_expand()
now error if you name the arguments in
...
since those names are ignored and your code probably
doesn’t do what you think it does (#319).
fct_reorder()
and fct_reorder2()
now
remove NA
values in .x
with a warning (like
ggplot2::geom_point()
and friends). You can suppress the
warning by setting .na_rm = TRUE
(#315).
fct_reorder()
and fct_reorder2()
gain a
new .default
argument that controls the placement of empty
levels (including levels that might become empty after removing missing
values in .x
) (#266).
fct_unique()
now captures implicit missing values if
present (#293).
New fct()
which works like factor()
but
errors if values of x
are not included in the levels
specification (#299)
first2()
and last2()
now ignore missing
values in both x
and y
(#303).
Error messages are more informative.
Re-license as MIT (#277).
fct_lump_n()
no longer uses a partial argument name
(@malcolmbarrett, #276).
as_factor()
gains a logical method that always
returns a factor with levels “FALSE” and “TRUE” (#185).
fct_c()
, fct_collapse()
and
fct_recode()
are now explicitly documented as using dynamic dots
(@labouz,
#234).
fct_collapse()
now accepts a
other_level
argument, to allow a user-specified
Other
level (@gtm19, #194). It now correctly collapses
factors when other_level
is not NULL
(#172),
and makes "Other"
the last level (#202) (@gtm19, #172 &
#202)
fct_count()
no longer converts implicit NAs into
explicit NAs (#151).
fct_inseq()
behaves more robustly when factor levels
aren’t all numbers (#221).
fct_lump()
has been split up into three new
functions: fct_lump_prop()
, fct_lump_n()
, and
fct_lump_lowfreq()
. (@jonocarroll, #167, #142). All
fct_lump_()
functions check their inputs more carefully
(@robinson_es,
#169)
fct_reorder2()
gains a helper function
first2()
, that sorts .y
by the first value of
.x
(@jtr13).
fct_collapse()
gains a group_other
argument to allow you to group all un-named levels into
"Other"
. (#100, @AmeliaMN)
fct_cross()
creates a new factor containing the
combined levels from two or more input factors, similar to
base::interaction
(@tslumley, #136)
fct_inseq()
reorders labels in numeric order, if
possible (#145, @kbodwin).
fct_lump_min()
preserves levels that appear at least
min
times (can also be used with the w
weighted argument) (@robinsones, #142).
fct_match()
performs validated matching, providing a
safer alternative to f %in% c("x", "y")
which silently
returns FALSE
if "x"
or "y"
are
not levels of f
(e.g. because of a typo) (#126, @jonocarroll).
fct_relevel()
can now level factors using a function
that is passed the current levels (#117).
as_factor()
now has a numeric method. By default,
orders factors in numeric order, unlike the other methods which default
to order of appearance. (#145, @kbodwin)
fct_count()
gains a parameter to also compute the
proportion (@zhiiiyang, #146).
fct_lump()
now does not change the label if no
lumping occurs (@zhiiiyang, #130).
fct_relabel()
now accepts character input.
fct_reorder()
and fct_reorder2()
no
longer require that the summary function return a numeric vector of
length 1; instead it can return any orderable vector of length 1
(#147).
fct_reorder()
, fct_reorder2()
and
as_factor()
now use the ellipsis package to warn if you
pass in named components to ...
(#174).
fct_c()
now requires explicit splicing with
!!!
if you have a list of factors that you want to combine.
This is consistent with an emerging standards for handling
...
throughout the tidyverse.
fct_reorder()
and fct_reorder2()
have
renamed fun
to .fun
to avoid spurious matching
of named arguments.
All functions that take ...
use “tidy” dots: this
means that you use can !!!
to splice in a list of values,
and trailing empty arguments are automatically removed. Additionally,
all other arguments gain a .
prefix in order to avoid
unhelpful matching of named arguments (#110).
fct_lump()
gains w
argument (#70, @wilkox) to weight value
frequencies before lumping them together (#68).
as_factor()
and fct_inorder()
accept NA
levels (#98).
fct_explicit_na()
also replaces NAs encoded in
levels.
fct_lump()
correctly accounts for NA
values in input (#41)
lvls_revalue()
preserves NA levels.
Test coverage increased from 80% to 99%.
fct_drop()
now preserves attributes (#83).
fct_expand()
and lvls_expand()
now also
take character vectors (#99).
fct_relabel()
now accepts objects coercible to
functions by rlang::as_function
(#91, @alistaire47)
as_factor()
which works like
as.factor()
but orders levels by appearance to avoid
differences between locales (#39).
fct_other()
makes it easier to convert selected
levels to “other” (#40)
fct_relabel()
allows programmatic relabeling of
levels (#50, @krlmlr).
fct_c()
can take either a list of factors or
individual factors (#42).
fct_drop()
gains only
argument to
restrict which levels are dropped (#69) and no longer adds
NA
level if not present (#52).
fct_recode()
is now checks that each new value is of
length 1 (#56).
fct_relevel()
gains after
argument so
you can also move levels to the end (or any other position you like)
(#29).
lvls_reorder()
, fct_inorder()
, and
fct_infreq()
gain an ordered
argument,
allowing you to override the existing “ordered” status (#54).
Minor fixes for R CMD check
Add package docs
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.