有没有一种简单的方法可以将美元符号添加到我拥有的列中?除了小数、逗号等之外,我找不到任何方法format()。例如,我有:
numbers <- data.frame(x1 = 1:4, x5 = 11:14, x6 = 21:24, y = 31:34)
Run Code Online (Sandbox Code Playgroud)
如何格式化numbers$y以使其前面有美元符号?
如果您想极端地把数字保留在列上,但让它们用美元符号打印,您可以编写一个打印方法。
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)