2013-02-19 3 views
1

У меня есть файл, где одна переменная представляет собой комбинацию из 0.00234 и 2.34e-05. Так может ли кто-нибудь помочь мне преобразовать все в экспоненциальный формат.Преобразование чисел в экспоненциальную форму в R

+0

Вы хотите сказать, что хотите показать их в виде строки в том же формате? Нет никакой реальной разницы между форматами чисел по отношению к R. Можете ли вы сделать 'dput' на векторе и опубликовать результат? –

+0

Привет, Дэвид. Я пытался подмножить данные, основанные на значении P менее 0,0001, были значениями P-значений, такими как числа 0,0023, а также 2.3E-04 ... R учитывает только те, которые находятся в экспоненциальной форме. Это очень странно. – Venkatesh

+0

Если вы хотите записать в файл, вы можете использовать 'format (x, scientific = TRUE)', который преобразует его в строку в научной нотации. – Arun

ответ

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, тогда вы можете использовать решение @Josh, рекомендованное установкой options(scipen = -10).

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

Смежные вопросы