Skip to content

Commit

Permalink
fixex_#6556
Browse files Browse the repository at this point in the history
  • Loading branch information
venom1204 committed Dec 20, 2024
1 parent 4a2474b commit aa32b09
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions R/merge.R
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,14 @@ merge.data.table = function(x, y, by = NULL, by.x = NULL, by.y = NULL, all = FAL
if (!is.null(by.x)) {
if (length(by.x)==0L || !is.character(by.x) || !is.character(by.y))
stopf("A non-empty vector of column names is required for `by.x` and `by.y`.")
if (!all(by.x %chin% nm_x))
stopf("Elements listed in `by.x` must be valid column names in x.")
if (!all(by.y %chin% nm_y))
stopf("Elements listed in `by.y` must be valid column names in y.")
if (!all(by.x %chin% nm_x)) {
missing_by_x = setdiff(by.x, nm_x)
stopf("Elements listed in `by.x` must be valid column names in x. Missing: %s", paste(missing_by_x, collapse = ", "))

Check warning on line 40 in R/merge.R

View workflow job for this annotation

GitHub Actions / lint-r

file=R/merge.R,line=40,col=87,[paste_linter] toString(.) is more expressive than paste(., collapse = ", "). Note also glue::glue_collapse() and and::and() for constructing human-readable / translation-friendly lists
}
if (!all(by.y %chin% nm_y)) {
missing_by_y = setdiff(by.y, nm_y)
stopf("Elements listed in `by.y` must be valid column names in y. Missing: %s", paste(missing_by_y, collapse = ", "))

Check warning on line 44 in R/merge.R

View workflow job for this annotation

GitHub Actions / lint-r

file=R/merge.R,line=44,col=87,[paste_linter] toString(.) is more expressive than paste(., collapse = ", "). Note also glue::glue_collapse() and and::and() for constructing human-readable / translation-friendly lists
}
by = by.x
names(by) = by.y
} else {
Expand All @@ -50,8 +54,12 @@ merge.data.table = function(x, y, by = NULL, by.x = NULL, by.y = NULL, all = FAL
by = intersect(nm_x, nm_y)
if (length(by) == 0L || !is.character(by))
stopf("A non-empty vector of column names for `by` is required.")
if (!all(by %chin% intersect(nm_x, nm_y)))
stopf("Elements listed in `by` must be valid column names in x and y")
if (!all(by %chin% intersect(nm_x, nm_y))) {
missing_in_x = setdiff(by, nm_x)
missing_in_y = setdiff(by, nm_y)
stopf("Elements listed in `by` must be valid column names in x and y. Missing in x: %s. Missing in y: %s",

Check warning on line 60 in R/merge.R

View workflow job for this annotation

GitHub Actions / lint-r

file=R/merge.R,line=60,col=113,[trailing_whitespace_linter] Remove trailing whitespace.
paste(missing_in_x, collapse = ", "), paste(missing_in_y, collapse = ", "))

Check warning on line 61 in R/merge.R

View workflow job for this annotation

GitHub Actions / lint-r

file=R/merge.R,line=61,col=13,[paste_linter] toString(.) is more expressive than paste(., collapse = ", "). Note also glue::glue_collapse() and and::and() for constructing human-readable / translation-friendly lists

Check warning on line 61 in R/merge.R

View workflow job for this annotation

GitHub Actions / lint-r

file=R/merge.R,line=61,col=51,[paste_linter] toString(.) is more expressive than paste(., collapse = ", "). Note also glue::glue_collapse() and and::and() for constructing human-readable / translation-friendly lists
}
by = unname(by)
by.x = by.y = by
}
Expand Down

0 comments on commit aa32b09

Please sign in to comment.