Как округлить процент в 0 десятичных в R - PullRequest
0 голосов
/ 10 мая 2019

Ищем простой метод, такой как EXCEL "Увеличить десятичное число", "Уменьшить десятичное число"

# Example number
d <- c(0.6199548,0.8884106,0.9030066)

# Expected result :
[1]62% 89% 90%

# library scales result cannot adjust to 0 decimal
percent(d)
[1] "62.0%" "88.8%" "90.3%"

# Cannot handle sprinf() function well as weird result generated like below: 
sprintf("%.1f %%", d)
[1] "0.6 %" "0.9 %" "0.9 %"

У нас есть простой пакет для настройки десятичного процента так же просто, как EXCEL в R?

Ответы [ 2 ]

5 голосов
/ 10 мая 2019

Использование round и paste:

d <- c(0.6199548,0.8884106,0.9030066)
paste0(round(d*100), "%")

[1] "62%" "89%" "90%"
4 голосов
/ 10 мая 2019

Я бы посоветовал взглянуть на документацию ?percent, прежде чем вы решите, что он может и не может делать.

# library scales result cannot adjust to 0 decimal
## OR CAN IT
percent(d, 1)
[1] "62%" "89%" "90%"

Со страницы справки ?percent:

percent(x, accuracy = NULL, scale = 100, prefix = "",
  suffix = "%", big.mark = " ", decimal.mark = ".", trim = TRUE,
  ...)
# ...
# accuracy  Number to round to, NULL for automatic guess.
...