【问题标题】:Why does format() change numbers into characters?为什么 format() 会将数字变成字符?
【发布时间】:2022-11-18 03:40:12
【问题描述】:

为什么 format 会将数字变成字符?有没有办法强制 format() 将输出保持为数字?在处理数据帧列表时,这对我来说是个问题。

> number <- 33333
> class(number)
[1] "numeric"
> test1 <- format (number, nsmall = 2 )
> class(test1)
[1] "character"
> test2 <- as.numeric (format (number, nsmall = 2 ))
> class(test2)
[1] "numeric"

【问题讨论】:

  • format 把数字变成字符。这就是它的全部工作。格式化是数字的字符串表示的属性。在这种情况下,也许你想要round()?但是在 R 中,数字不记得它们有多少个小数位。

标签: r format


【解决方案1】:

formattable 可以使用 formatC 返回带有附加格式的 numeric

test1 <- formattable::comma(number, digits=2, big.mark = "")

-检查

> class(test1)
[1] "formattable" "numeric"    
> test1
[1] 3333.00
> test1 + 10
[1] 3343.00

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多