我有一个数字,例如1.128347132904321674821,我想在输出到屏幕(或写入到文件)时仅显示两个小数点后的位置。要怎么做呢?
x <- 1.128347132904321674821
编辑:
用途:
options(digits=2)
被认为是一个可能的答案。是否有一种方法可以在脚本中指定这一点,以便一次性使用?当我将它添加到我的脚本时,它似乎没有做任何不同的事情,我对大量重新输入来格式化每个数字不感兴趣(我正在自动化一个非常大的报告)。
--
答案:整数(x,数字=2)
这是我从单位到百万的方法。
Digits参数让我调整有效值(整数+小数)的最小数量。你可以先调整里面的十进制四舍五入。
number <-function(number){
result <- if_else(
abs(number) < 1000000,
format(
number, digits = 3,
big.mark = ".",
decimal.mark = ","
),
paste0(
format(
number/1000000,
digits = 3,
drop0trailing = TRUE,
big.mark = ".",
decimal.mark = ","
),
"MM"
)
)
# result <- paste0("$", result)
return(result)
}
你可以试试我的打包格式。
> # devtools::install_github("renkun-ken/formattable")
> library(formattable)
> x <- formattable(1.128347132904321674821, digits = 2, format = "f")
> x
[1] 1.13
好处是,x仍然是一个数字向量,你可以用同样的格式做更多的计算。
> x + 1
[1] 2.13
更好的是,数字不会丢失,你可以用更多的数字重新格式化:)
> formattable(x, digits = 6, format = "f")
[1] 1.128347