【问题标题】:Format thousand to Ks in R在 R 中将千位格式化为 Ks
【发布时间】:2021-05-25 01:38:26
【问题描述】:

如何在R中将465456.6789之类的数字格式化为漂亮的465,4K?其他示例 13567.566 到 13,5K 3567.5 到 3,5K 等等。一般来说,我想要类似的东西

roundup_to <- function(x, to = 10, up = FALSE){
  if(up) round(.Machine$double.eps^0.5 + x/to)*to else round(x/to)*to
}

roundup_to(c((74453.867574737)), to = 100)

变成74,5K

【问题讨论】:

  • 465456.67 不应该是 465,5 吗??

标签: r


【解决方案1】:

您还可以查看函数scales::label_number_si 对数字进行四舍五入。

a <- c(465456.6789, 3567.5, 1465458.12)
scales::label_number_si(accuracy = 0.1)(a)

#[1] "465.5K" "3.6K"   "1.5M"  

【讨论】:

    【解决方案2】:

    你可以这样做:

    a <- c(465456.6789, 13567.566, 3567.5)
    sprintf("%sK", format(round(a/1000, 1), dec=","))
    [1] "465,5K" " 13,6K" "  3,6K"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 1970-01-01
      • 2015-04-13
      • 1970-01-01
      相关资源
      最近更新 更多