我想将我的负数格式化为“会计”格式,即带有方括号。例如,我想将-1000000格式化为(1,000,000)。
我知道引入千位分隔符的方式:
prettyNum(-1000000, big.mark=",",scientific=F)
但是,我不确定如何介绍括号。我希望能够将格式应用于整个矢量,但是我希望仅影响负数。在引入千位分隔符之后,数字的向量现在不是characater向量,例如:
"-50,000" "50,000" "-50,000" "-49,979" "-48,778" "-45,279" "-41,321"
有任何想法吗?谢谢。
一个非常简单的方法是使用paste0
和sub
。这是一个简单的功能:
my.format <- function(num){
ind <- grepl("-", num)
num[ind] <- paste0("(", sub("-", "", num[ind]), ")")
num
}
> num <- c("-50,000", "50,000", "-50,000", "-49,979", "-48,778", "-45,279", "-41,321")
> my.format(num)
[1] "(50,000)" "50,000" "(50,000)" "(49,979)" "(48,778)" "(45,279)" "(41,321)"
如果您想扭转这种情况,可以说,您有一个像这样的向量:
num2 <- my.format(num)
并且您想要替换(·)
为-
,然后尝试
sub(")", "", sub("\\(", "-", num2))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句