如何在 R 中使用 sprintf 控制指数的位数?

How to control number of digits in exponent with sprintf in R?

此 R 代码生成以下内容:

> sprintf("%.6e", c(5, 50, 500, 5000))
[1] ""5.000000e+00" "5.000000e+01" "5.000000e+02" "5.000000e+03"

但我希望指数中有三位数字(在“e+”之后),如下所示:

"5.000000e+000" "5.000000e+001" "5.000000e+002" "5.000000e+003"

这里是 sub 的一个选项,在使用 sprintf 进行更改后,在 sprintf 格式

之后的字符串中的最后一个元素之前插入 0
sub('([0-9])$', '0\1',  sprintf("%.6e", c(5, 50, 500, 5000)))
#[1] "5.000000e+000" "5.000000e+001" "5.000000e+002" "5.000000e+003"