我想以百分比显示数据框功能,并保留小数点后四位:
scales::percent(1:3/12345)
"0.0081%" "0.0162%" "0.0243%"
这将每个值显示为百分比到小数点后4位。
但是,如果我尝试例如
scales::percent(c(1:3/12345, 0.9), accuracy = 4)
[1] "0%" "0%" "0%" "88%"
我丢失了前3个值。我希望这些值显示为
"0.0081%", "0.0162%" "0.0243%".
在格式化为百分比时,如何强制使用相同的位数?我总是希望小数点右边有4位数字,即使它们全为零也是如此。
您可以做:
scales::percent(c(1:3/12345, 0.9), accuracy = 0.0001)
[1] "0.0081%" "0.0162%" "0.0243%" "90.0000%"
accuracy
参数具有相当违反直觉的功能,这意味着如果您希望输出的小数位数更多,则需要使用小于1的数字(这也是默认值)。然后,accuracy
参数中的每个小数位都代表输出中的小数位。
为了更深入地说明功能。如果要输出一位小数位:
scales::percent(c(1:3/12345, 0.9), accuracy = 0.1)
[1] "0.0%" "0.0%" "0.0%" "90.0%"
[如果需要,则保留小数点后三位:
scales::percent(c(1:3/12345, 0.9), accuracy = 0.001)
[1] "0.008%" "0.016%" "0.024%" "90.000%"