2013-02-19 76 views
1

我有一個文件,其中一個變量是0.00234和2.34E-05的組合。所以能有一個人幫助我如何一切轉換成指數格式。將數字轉換指數形式中的R

+0

你的意思是你想顯示他們作爲一個字符串在相同的格式?就R而言,數字格式之間沒有真正的區別。你可以在矢量上「輸入」併發布結果嗎? – 2013-02-19 16:21:37

+0

嗨大衛。我試圖根據小於0.0001的P值來對數據進行子集分析,P值是數字的組合,例如0.0023和2.3E-04 ... R僅考慮那些處於指數形式的數據。這很奇怪。 – Venkatesh 2013-02-19 16:24:39

+0

如果你想寫入文件,那麼你可以使用'format(x,scientific = TRUE)',它會以科學記數法將其轉換爲字符串。 – Arun 2013-02-19 16:27:20

回答

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 
+0

謝謝大家。我非常感謝你的幫助。 – Venkatesh 2013-02-19 18:40:37