有没有一种简单的方法可以在列中添加美元符号?

cod*_*erX 1 format r

有没有一种简单的方法可以将美元符号添加到我拥有的列中?除了小数、逗号等之外,我找不到任何方法format()。例如,我有:

numbers <- data.frame(x1 = 1:4, x5 = 11:14, x6 = 21:24, y = 31:34)
Run Code Online (Sandbox Code Playgroud)

如何格式化numbers$y以使其前面有美元符号?

Ric*_*ven 5

如果您想极端地把数字保留在列上,但让它们用美元符号打印,您可以编写一个打印方法。

class(numbers$y) <- "dollar"
format.dollar <- function(x, ...) paste0("$", unclass(x))
as.data.frame.dollar <- base:::as.data.frame.factor
Run Code Online (Sandbox Code Playgroud)

现在它打印有美元符号......

numbers
#   x1 x5 x6   y
# 1  1 11 21 $31
# 2  2 12 22 $32
# 3  3 13 23 $33
# 4  4 14 24 $34
Run Code Online (Sandbox Code Playgroud)

...但该列仍然是数字。

numbers$y[]
# [1] 31 32 33 34
Run Code Online (Sandbox Code Playgroud)