首页 > 解决方案 > 如何对向量中的数字进行舍入以仅在 R 中显示必要的小数?

问题描述

我有一个包含整数和带小数位的数字的向量。我只想根据需要显示小数位。例如,我有以下向量:

vec <- c(0.01, 0.1, 1, 10)

R 当前显示的值如下:

> vec
[1]  0.01  0.10  1.00 10.00

我正在寻找的输出是这样的:

0.01  0.1  1  10

到目前为止,我只能将向量的所有值四舍五入到相同的小数位。谢谢!

标签: rvectordecimalrounding

解决方案


我们可以使用额外的 S3 类:

print.myNumeric <- function(x) cat(x, sep = "  ")

比较添加类前后的打印:

vec
#> [1]  0.01  0.10  1.00 10.00

class(vec) <- c("myNumeric", class(vec))

vec
#> 0.01  0.1  1  10

基本数学保留了类和打印:

4 * vec + 1:4
#> 1.04  2.4  7  44

推荐阅读