当我尝试使用format()函数格式化数字向量时,“digits”参数只作用于第一个数字。
然而,如果我依次将其应用于每个元素,则会得到预期的结果。
format(c(1.508390e-06, 8.487128e-02, 4.185008e-01, 4.785161e-01, -8.332557e-01),
digits = 3, scientific = FALSE)
[1] " 0.00000151" " 0.08487128" " 0.41850080" " 0.47851610" "-0.83325570"
然而,如果我依次将其应用于每个元素,则会得到预期的结果。
sapply(c(1.508390e-06, 8.487128e-02, 4.185008e-01, 4.785161e-01, -8.332557e-01), FUN = function(x) { format(x,digits = 3, scientific = FALSE) } )
[1] "0.00000151" "0.0849" "0.419" "0.479" "-0.833"
这里我是否漏掉了什么?
请注意,如果我将 scientific = FALSE,则所有数字都会正确格式化:
format(c(1.508390e-06, 8.487128e-02, 4.185008e-01, 4.785161e-01, -8.332557e-01),
digits = 3, scientific = TRUE)
" 1.51e-06" " 8.49e-02" " 4.19e-01" " 4.79e-01" "-8.33e-01"