This makes it more compatible with tidyverse recycling rules in some edge cases ( #6685). Pick() now returns a 1 row, 0 column tibble when. N() is a little faster when there are many groups ( #6727). Group_data() on ungrouped data frames is faster ( #6736). It is still a little slower than in dplyr 1.0.10, but we plan to improve this further in the future ( #6674).įixed a performance regression related to nth(), first(), and last() ( #6682).įixed an issue where expressions involving infix operators had an abnormally large amount of overhead ( #6681). This change unfortunately does mean that if you have set multiple = "all" to avoid a warning and you happened to be doing a many-to-many style join, then you will need to replace multiple = "all" with relationship = "many-to-many" to silence the new warning, but we believe this should be rare since many-to-many relationships are fairly uncommon.įixed a major performance regression in case_when(). However, for equality joins it will check for the presence of a many-to-many relationship, and will warn if it detects one. The default behavior of relationship doesn’t assume that there is any relationship between x and y. This option serves as the replacement for multiple = "error". If a row in x matches >1 rows in y, an error is thrown. The mutating joins gain a new relationship argument, allowing you to optionally enforce one of the following relationship constraints between the keys of x and y: "one-to-one", "one-to-many", "many-to-one", or "many-to-many".įor example, "many-to-one" enforces that each row in x can match at most 1 row in y. We are using an accelerated deprecation process for these two options because they’ve only been available for a few weeks, and relationship is a clearly superior alternative. Multiple now defaults to "all", and the options of "error" and "warning" are now deprecated in favor of using relationship (see below). At a high level, a warning was previously being thrown when a one-to-many or many-to-many relationship was detected between the keys of x and y, but is now only thrown for a many-to-many relationship, which is much rarer and much more dangerous than one-to-many because it can result in a Cartesian explosion in the number of rows returned from the join ( #6731, #6717). Mutating joins now warn about multiple matches much less often.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |