Поскольку вывод dollar()
является символьным вектором, вы можете определить новую функцию, используя chartr
в результатах, чтобы условно поменять символы и использовать ...
для передачи дополнительных аргументов исходной функции.
library(scales)
newdollar <- function(x, ...) ifelse(x < 0, chartr("$-", "-$", dollar(x, ...)), dollar(x, ...))
newdollar(c(5, -5), suffix = "!!" )
[1] "$5!!" "-$5!!"