四舍五入到小数点后两位,同时保留 R 中的科学记数法

问题描述 投票:0回答:4

我正在吸收线性模型的输出,并尝试通过将我感兴趣的参数四舍五入到小数点后两位来整理它。这对于大多数参数(如 beta 或 Z 分数)来说都很好,但我在 P 值方面遇到困难。虽然我确实想四舍五入到小数点后两位,但我的意思是保留科学记数法的同时保留小数点后两位。

例如:

P = 2.60699382414341e-56

round(P,2)

#[1] 0

当我真正想要打印的是:

#2.61e-56

有办法做到这一点吗?

r rounding
4个回答
20
投票

尝试

signif(2.60699382414341e-56, digits=3)

# 2.61e-56

7
投票

使用

format

> P = 2.60699382414341e-56
> format(P, digits=3)
[1] "2.61e-56"

2
投票

这个就在这里:

> P = 2.60699382414341e-56
> options("scipen"=2, "digits"=3)
> P
[1] 2.61e-56

另请参阅: 强制 R 不使用指数表示法(例如 e+10)?


0
投票

我还建议使用

sprintf('%.2e', P)
作为
format()
的潜在更快替代方案。

© www.soinside.com 2019 - 2024. All rights reserved.