Кажется, вы пытаетесь ранжировать вектор символов численно. Который может действительно 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"