Incidentally,
?scales::percent
brings up exactly the same text as
?scales::percent_format
On 2014-02-27 Thu 14:47, Jacob Wegelin wrote:
But percent_format() does not take the argument, multiply it by 100, and
paste on a percent sign, as we see here:
?scales::percent_format
percent_format(0.0101010101)
Error in percent_format(0.0101010101) : unused argument(s) (0.0101010101)
args(percent_format)
function () NULL
And how do we control the significant digits when we use percent()?
percent(0.0101010101)
[1] "1.01%"
My point is that
?scales::percent_format
does not answer these questions. This is what I mean by saying that the
function is not documented.
On 2014-02-27 Thu 14:34, Dennis Murphy wrote:
Hi:
On Thu, Feb 27, 2014 at 8:49 AM, Jacob Wegelin <jacobwege...@fastmail.fm>
wrote:
scales::percent appears not to be documented.
?scales::percent_format
where it tells you that it takes its argument, multiplies it by 100
and then attaches a percent sign to it. For most situations, the data
should be relative frequencies/proportions. BTW, many of the functions
in the scales package are second-order R functions, which means there
are two calls in the function invocation. The first call returns a
function and the second is a call to the returned function.
Details:
At http://cran.r-project.org/web/packages/scales/scales.pdf, equivalently
in
?percent, I find no answer to the following two questions.
(1) How can I specify the number of decimal points in a call to percent()?
For instance, 0.010101 could be
1%
1.0%
1.01%
etc. depending on what kind of report I'm writing.
I can control precision myself by writing
mypercent<-function(theargument, siglevel=2) {
stopifnot(is.numeric(theargument))
paste(signif(theargument, siglevel) * 100, "%", sep="")
}
and then we have
mypercent(0.010101)
[1] "1%"
mypercent(0.010101, 5)
[1] "1.0101%"
mypercent(0.010101, 3)
[1] "1.01%"
percent_format() uses pretty breaks by default, so you'd probably want
to pass your desired labels to scale_y_continuous() directly and avoid
percent_format(). You could call the function on a vector of breaks
and use the return values for the labels.
(2) What is the function precision() inside percent()? I find no
documentation for it, and in fact it does not appear in the search path.
Nor
does round_any().
round_any() comes from the plyr package. I have no idea where
precision() comes from; I've wondered about that myself a couple of
times. I imagine it comes from one of the imported packages, but I
didn't find it in any of plyr, stringr or labeling. I didn't check the
color-related packages (RColorBrewer, dichromat or munsell). It could
also be a hidden function.
Dennis
percent(0.010101)
[1] "1.01%"
percent
function (x) {
x <- round_any(x, precision(x)/100)
str_c(comma(x * 100), "%")
}
<environment: 0x10c0f9350>
find("precision")
character(0)
find("round_any")
character(0)
Thanks for any insights
Jacob Wegelin
sessionInfo()
R version 2.15.3 (2013-03-01)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] tools grid splines stats graphics grDevices utils
datasets methods base
other attached packages:
[1] scales_0.2.3 xtable_1.7-0 reshape2_1.2.2 moments_0.13
corrplot_0.70 ggplot2_0.9.3.1 nlme_3.1-108
loaded via a namespace (and not attached):
[1] colorspace_1.2-0 dichromat_1.2-4 digest_0.6.0 gtable_0.1.2
labeling_0.1 lattice_0.20-13 MASS_7.3-23 munsell_0.4
[9] plyr_1.8 proto_0.3-10 psych_1.2.8
RColorBrewer_1.0-5 stringr_0.6.2
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.