[R] Scale package change comma defaults?

Ben Bolker bbolker at gmail.com
Sun Jun 2 22:57:58 CEST 2013


John Kane <jrkrideau <at> inbox.com> writes:

>  I was using the comma() funtion in the scales page and was
> wondering how to chage a the defaults.  comm(1000) gives me 1,000
> which is what I usually want but how would I change the output to
> 1.000.

 Since the comma() function is just a wrapper for format():

> scales::comma
function (x, ...) 
{
    format(x, ..., big.mark = ",", scientific = FALSE, trim = TRUE)
}

Why not just define your own function that does what you want?

myComma <- function (x, big.mark=",", ...) 
{
    format(x, ..., big.mark = big.mark, scientific = FALSE, trim = TRUE)
}

myComma(1000,".")

> I had thought that I could simply do
> comm(1000, big.mark = ".")
> but I am getting 
> Error in format.default(x, ..., big.mark = ",", scientific = FALSE, trim =
TRUE) : 
>   formal argument "big.mark" matched by multiple actual arguments

> And since I'm here I might as well ask if there is a way
> to keep a couple fo decemal points rather than rounding to the first integer.

 Not quite sure what you mean here; see ?format for more details.

format(1200,big.mark=".",nsmall=2)

might be what you want, but if you're going to use "." for big.mark
then you might want:
    
options(OutDec=",")

[1] "1.200,00"



More information about the R-help mailing list