Я хочу форматировать числа в своих отчетах значащие цифры, но продолжать отслеживать значительные нули и правильно форматировать большие числа
Например, цифры c (10.00001,12345,1234.5,123.45,1.2345,0.12345) до 3 значащих цифр должны быть 10.0, 12300, 1230, 123, 1.23, 0.123, но я получаю разные результаты разными способами (и ни один из них не выглядит работать универсально.
> numbers<-c(10.00001,12345,1234.5,123.45,1.2345,0.12345)
> for(n in seq(numbers)){
+ print(signif(numbers[n],digits=3))
+ print(format(numbers[n],digits=3))
+ print(formatC(numbers[n], digits=3,format="fg"))
+ print(formatC(numbers[n], digits=3,format="fg", flag="#"))
+ }
[1] 10
[1] "10"
[1] " 10"
[1] "10.0"
[1] 12300
[1] "12345"
[1] "12345"
[1] "12345."
[1] 1230
[1] "1234"
[1] "1234"
[1] "1234."
[1] 123
[1] "123"
[1] " 123"
[1] "123."
[1] 12.3
[1] "12.3"
[1] "12.3"
[1] "12.3"
[1] 1.23
[1] "1.23"
[1] "1.23"
[1] "1.23"
[1] 0.123
[1] "0.123"
[1] "0.123"
[1] "0.123"
Здесь, signif и формат вокруг результата 10.00001. formatC с флагом = "#" правильно делает небольшие числа, но не большие числа.
Есть ли лучший способ?