【问题标题】:How do I format a number in thousands in R如何在 R 中格式化以千为单位的数字
【发布时间】:2013-08-20 16:43:49
【问题描述】:

假设我有一个像 123542.52 这样的数字。如何将该数字显示为最接近的千位?在本例中,应显示 124。

【问题讨论】:

  • round(123542.52/1000)?你能更具体地说明你想要做什么吗?
  • 您似乎要求的是千数,这将是您的数字除以 1000,四舍五入到最接近的整数。你真的要124000吗?
  • 我正在寻找一种干净的方法来格式化非常大的数字。我有一个带有许多标签(如 123542.52)的图,但这些标签占用了大量空间。它们真的只需要显示到千位,我想不出一个干净的方法来格式化数字。
  • 听起来你应该改变你正在绘制的函数中的一个选项(特别是如果你使用的是 ggplot)

标签: r


【解决方案1】:

只需在 round() 中使用负数参数即可:

round(123542.52, -3)/1000
# [1] 124

? round中所述:

四舍五入到负数意味着四舍五入到十的幂,例如round(x, digits = -2)四舍五入到最接近的百位。

【讨论】:

    【解决方案2】:

    sprintf("%.0f", 123542.52/1000)好吗?

    【讨论】:

      【解决方案3】:

      你可以这样做:

       x = 123542.52
       y = signif(x,3)
       y <- as.numeric(gsub("0","",y))
      

      【讨论】:

      • 这就是您想要实现的目标吗?
      猜你喜欢
      • 2022-01-23
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 2019-01-25
      • 1970-01-01
      • 2015-04-13
      • 2017-08-23
      相关资源
      最近更新 更多