我想以4个小数位的百分比显示数据框功能:
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位数字,即使它们全为零也是如此。
答案 0 :(得分:4)
您可以这样做:
AA AA CA
AA AA NY
AA AA MD
BB BB FL
BB BB NY
BB CC AZ
DD CC CO
DD DD CO
DD WA
scales::percent(c(1:3/12345, 0.9), accuracy = 0.0001)
[1] "0.0081%" "0.0162%" "0.0243%" "90.0000%"
参数具有相当违反直觉的功能,这意味着如果您希望输出的小数位数更多,则需要使用小于1的数字(这也是默认值)。 accuracy
参数中的每个小数位都代表输出中的小数位。
更深入地说明该功能。如果要输出一位小数位:
accuracy
如果想要的话,保留三个小数位:
scales::percent(c(1:3/12345, 0.9), accuracy = 0.1)
[1] "0.0%" "0.0%" "0.0%" "90.0%"