Skip to content

give *_join() more control on duplicated and unmatched rows #5661

Description

@mgirlich

As @lionel- nicely proposed in #3967 it would be great to have more control on what the *_join() functions do on duplicated or unmatched rows. Proposed arguments:

  • .unmatched = c("keep", "drop", "error")
  • .duplicates = c("error", "product")

for example a 1:1 join would then simply be .unmatched = "error" and .duplicates = "error".

As the arguments should rather be added to the existing *_join() functions the "keep" and "drop" options for .unmatched don't really make sense for all joins. Rather, one would have

left/right/full_join() -> .unmatched = c("keep", "error")
inner_join() -> .unmatched = c("drop", "error")

Metadata

Metadata

Assignees

No one assigned

    Labels

    featurea feature request or enhancementtables 🧮joins and set operations

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions