Существует ли функция R для преобразования нестандартных обозначений scientifi c? - PullRequest
1 голос
/ 14 января 2020

В настоящее время я работаю с набором данных (сделанным из исследовательского проекта по биостатистике), который обозначает ранги выражения в значении, таком как «1,00e3», а не «1,00e + 03», что, похоже, сбивает с толку систему при ранжировании. У кого-нибудь есть идеи относительно того, как работать с фреймом данных, чтобы заставить его преобразовывать нотации "е" в стандартную форму? Я уже попробовал scipen и формат C.

1 Ответ

0 голосов
/ 14 января 2020

Кажется, вы пытаетесь ранжировать вектор символов численно. Который может действительно go не так. Хитрость заключается в том, чтобы преобразовать в цифру c для ранжирования.

x = c("1.00e3", "1.00e+04", "1.0e05")
sort(x)
# "1.00e+04" "1.00e3"   "1.0e05"  
sort(as.numeric(x))
# 1e+03 1e+04 1e+05

Если вам действительно нужны значения в формате символов, а не в цифрах c (что кажется маловероятным), вы можно сделать

format(as.numeric(x), scipen=999)
# [1] "1e+03" "1e+04" "1e+05"
...