如何禁用科学计数法?

Posted

技术标签:

【中文标题】如何禁用科学计数法?【英文标题】:How to disable scientific notation? 【发布时间】:2011-07-18 03:35:13 【问题描述】:

我有一个包含一列 p 值的数据框,我想对这些 p 值进行选择。

> pvalues_anova
[1] 9.693919e-01 9.781728e-01 9.918415e-01 9.716883e-01 1.667183e-02
[6] 9.952762e-02 5.386854e-01 9.997699e-01 8.714044e-01 7.211856e-01
[11] 9.536330e-01 9.239667e-01 9.645590e-01 9.478572e-01 6.243775e-01
[16] 5.608563e-01 1.371190e-04 9.601970e-01 9.988648e-01 9.698365e-01
[21] 2.795891e-06 1.290176e-01 7.125751e-01 5.193604e-01 4.835312e-04

选择方式:

anovatest<- results[ - which(results$pvalues_anova < 0.8) ,]

如果我在 R 中使用该函数,它的效果非常好。但如果我在另一个应用程序(星系)中运行它,则没有 e-01 的数字例如4.835312e-04 不会被丢弃。

是否有其他方法来表示 p 值,例如 0.0004835312 而不是 4.835312e-04

【问题讨论】:

Force R not to use exponential notation (e.g. e+10)?的可能重复 这是一个副本。 【参考方案1】:

您可以使用此代码有效地去除打印中的科学记数法:

options(scipen=999)

【讨论】:

如果你想恢复成我的样子 :=),默认的scipen0(见getOption("scipen") 是否有可能仅在一个特定命令中使用scipen,例如print(x, dig = 6)?比如summary(m1, scipen = 999)还是print(x, scipen = 999)?那会很酷。因为全局设置可能有问题。 @TMS:答案在这里:***.com/questions/21509346/…:format(functionResult, scientific=FALSE);as.integer(functionResult); @TMS 如何默认禁用它,以便在打开新会话时不必重做命令? 想要简化你的生活的 R 默认行为让它变得很糟糕【参考方案2】:
format(99999999,scientific = FALSE)

给予

99999999

【讨论】:

【参考方案3】:

我还发现prettyNum(..., scientific = FALSE) 函数在我不想尾随零时对打印很有用。请注意,这些函数可用于打印目的,即这些函数的输出是字符串,而不是数字。

p_value <- c(2.45496e-5, 3e-17, 5.002e-5, 0.3, 123456789.123456789)
format(p_value, scientific = FALSE)
#> [1] "        0.00002454960000000" "        0.00000000000000003"
#> [3] "        0.00005002000000000" "        0.29999999999999999"
#> [5] "123456789.12345679104328156"


format(p_value, scientific = FALSE, drop0trailing = TRUE)
#> [1] "        0.0000245496"        "        0.00000000000000003"
#> [3] "        0.00005002"          "        0.29999999999999999"
#> [5] "123456789.12345679104328156"


# Please note that the last number's last two digits are rounded:
prettyNum(p_value, scientific = FALSE, digits = 16)
#> [1] "0.0000245496"        "0.00000000000000003" "0.00005002"         
#> [4] "0.3"                 "123456789.1234568"

【讨论】:

以上是关于如何禁用科学计数法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 spark-xml 中禁用科学计数法

在 Android Studio 中调试时如何禁用科学计数法?

如何禁用科学记数法?

在 Access 2007 CSV 导出中:禁用科学记数法

在 MySQL 命令行客户端中禁用科学计数法?

Spyder 变量资源管理器:禁用科学记数法