0

我正在寻找一种快速简单的方法来降低 R 中数字的精度,无论是显示在图表上还是包含在报告(文本或表格)中。

我的首选功能是sprintf(),但似乎没有任何格式说明符足够通用以处理所有可能的情况,即使我正在寻找的内容相当普遍(这是我们在学校都教过的内容)。

例如,如果我想四舍五入到 3 个有效数字,我正在寻找一个可以采用的公式:

  • 1,239,451 并返回 1,240,000
  • -12.1257 并返回 -12.1
  • .0681 并返回 .0681
  • 5 并返回 5

注意:这个答案提供了我认为只是这样一个函数的 javascript 实现,但我不是 javascript 专家,并且使用的一些函数的语法对我来说并不明显。另外,我很好奇我是否错过了基本 R 的一些内置功能或一个通用库来做到这一点。

4

1 回答 1

4
> formatC( signif(1239451, digits=3), big.mark=",", format="fg")
[1] "1,240,000"
> formatC( signif(-12.1257, digits=3), big.mark=",", format="fg")
[1] "-12.1"
> formatC( signif(.0581, digits=3), big.mark=",", format="fg")
[1] "0.0581"
> formatC( signif(5, digits=3), big.mark=",", format="fg")
[1] "5"
于 2013-07-29T21:00:58.857 回答