Как отформатировать число с указанным уровнем точности?

Я хотел бы создать функцию, которая возвращает вектор чисел с точностью, отраженной наличием только n значащие цифры, но без нулей в конце, а не в научной записи

например, Я хотел бы

somenumbers <- c(0.000001234567, 1234567.89)
myformat(x = somenumbers, n = 3)

вернуть

[1] 0.00000123  1230000

Я играл с форматом , formatC и sprintf , но они, похоже, не хотят работают с каждым числом независимо, и они возвращают числа в виде символьных строк (в кавычках).

Это самый близкий пример, который я получил:

> format(signif(somenumbers,4), scientific=FALSE)
[1] "      0.000001235" "1235000.000000000"
5
задан Abe 7 March 2011 в 22:35
поделиться