Modify the arguments of a call.

modify_call(call, new_args)

Arguments

call

A call to modify. It is first standardised with standardise_call.

new_args

A named list of expressions (constants, names or calls) used to modify the call. Use NULL to remove arguments.

Examples

call <- quote(mean(x, na.rm = TRUE))

# Modify an existing argument
modify_call(call, list(na.rm = FALSE))
#> mean(x = x, na.rm = FALSE)
modify_call(call, list(x = quote(y)))
#> mean(x = y, na.rm = TRUE)

# Remove an argument
modify_call(call, list(na.rm = NULL))
#> mean(x = x)

# Add a new argument
modify_call(call, list(trim = 0.1))
#> mean(x = x, na.rm = TRUE, trim = 0.1)

# Add an explicit missing argument
modify_call(call, list(na.rm = quote(expr = )))
#> mean(x = x, na.rm = )