带有效数字的百分比

percentage with significant digits

我注意到,如果您打印的是相同数量级的百分比矢量,percent() 可以很好地获取三位有效数字。

> library(scales)
> percent(c(0.123,0.234))
[1] "12.3%" "23.4%"

>percent(c(0.00123,0.00234))
[1] "0.123%" "0.234%"

但如果您的百分比具有不同的数量级,percent 将选择适用于最大元素的精度 -- 在我的用例中没有帮助。

> percent(c(0.123,0.00234))
[1] "12.3%" "0.2%" 

不同数量级的百分比如何取三位有效数字?

您可以使用sapply()来分别考虑每个元素。

> sapply(c(0.123,0.00234), percent)
[1] "12.3%"  "0.234%"

percent 最多只能看到 3 位数,但如果你想要更多位数,你可以做的是:

> test <- c(123.46644, 139.23424646)
> test <- paste(test*100, "%", sep = "")
> test
[1] "12346.644%"    "13923.424646%"