Skip to content

Commit b994304

Browse files
committed
fix(is_locf): is_bare_numeric() allows dim&names; disallow&ignore
1 parent 44339fc commit b994304

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

R/archive.R

+5-3
Original file line numberDiff line numberDiff line change
@@ -494,12 +494,14 @@ update_is_locf <- function(arranged_updates_df, ukey_names, abs_tol) {
494494
#' @keywords internal
495495
is_locf <- function(vec, abs_tol, is_key) { # nolint: object_usage_linter
496496
lag_vec <- lag(vec)
497-
if (is_bare_numeric(vec) && !is_key) {
498-
res <- if_else(
497+
if (is.vector(vec, mode = "numeric") && !is_key) {
498+
# (integer or double vector, no class (& no dims); maybe names, which we'll
499+
# ignore like `vec_equal`); not a key column
500+
res <- unname(if_else(
499501
!is.na(vec) & !is.na(lag_vec),
500502
abs(vec - lag_vec) <= abs_tol,
501503
is.na(vec) & is.na(lag_vec)
502-
)
504+
))
503505
return(res)
504506
} else {
505507
res <- vec_equal(vec, lag_vec, na_equal = TRUE)

0 commit comments

Comments
 (0)