duckplyr icon indicating copy to clipboard operation
duckplyr copied to clipboard

`expr_scrub()` seems like it can bork some expressions entirely

Open DavisVaughan opened this issue 4 months ago • 0 comments

library(duckplyr)
Sys.setenv(DUCKPLYR_FALLBACK_COLLECT = 1)
df <- tibble(x = 1:5, y = 6:10)
df <- as_duckplyr_df(df)
mutate(df, across(x:y, \(arg) mean(arg, na.rm = TRUE)))
#> Error in `as_string()`:
#> ! Can't convert an internal string to a string.

Minimal reprex:

name_map <- c(
  "...1",
  "...2",
  "...3"
)
names(name_map) <- c("x", "y", "")

expr <- quote(
  across(x:y, function(arg) mean(arg, na.rm = TRUE))
)

# something here is the problem
duckplyr:::expr_scrub(expr, name_map)
#> Error in print.default(x): badly formed function expression

broken <- duckplyr:::expr_scrub(expr, name_map)
rlang::expr_deparse(broken)
#> Error in `as_string()`:
#> ! Can't convert an internal string to a string.

DavisVaughan avatar Oct 02 '24 16:10 DavisVaughan