在R中将数字转换为指数形式

时间:2013-02-19 16:18:40

标签: r

我有一个文件,其中一个变量是0.00234和2.34e-05的组合。所以有人可以帮助我如何将所有内容转换为指数格式。

1 个答案:

答案 0 :(得分:6)

如果您不介意将格式从numeric更改为string,以便以科学计数法查看p-values列的结果,请使用:

x <- c(1, .1, .01, .001, .0001)
> x
# [1] 1.0000 0.1000 0.0100 0.0010 0.0001

> format(x, scientific=TRUE) # converts to character vector/string
# [1] "1e+00" "1e-01" "1e-02" "1e-03" "1e-04"

请注意,除了使用科学记数法之外,它还已转换为字符串。例如,如果您有兴趣使用此格式写入文件(除了查看结果之外),也可以使用此功能。但是,如果您希望保留数字格式,但只想在R中查看科学记数法中的所有值,那么,您可以通过设置options(scipen = -10)来使用@Josh推荐的解决方案。

options(scipen = -10)
> x # numeric
# [1] 1e+00 1e-01 1e-02 1e-03 1e-04
options(scipen = 2)
> x # numeric
[1] 1.0000 0.1000 0.0100 0.0010 0.0001