Jedną z rzeczy, które wprawiały mnie w zakłopotanie jako nowicjusza w R, było formatowanie liczby jako wartości procentowej do drukowania.
Na przykład wyświetl 0.12345
jako 12.345%
. Mam kilka obejść tego problemu, ale żadne z nich nie wydaje się być „przyjazne dla początkujących”. Na przykład:
set.seed(1)
m <- runif(5)
paste(round(100*m, 2), "%", sep="")
[1] "26.55%" "37.21%" "57.29%" "90.82%" "20.17%"
sprintf("%1.2f%%", 100*m)
[1] "26.55%" "37.21%" "57.29%" "90.82%" "20.17%"
Pytanie: Czy jest do tego podstawowa funkcja R? Alternatywnie, czy istnieje powszechnie używane opakowanie, które zapewnia wygodne opakowanie?
Pomimo szukając czegoś takiego w ?format
, ?formatC
i ?prettyNum
muszę jeszcze znaleźć odpowiednio wygodne opakowanie w bazie R. ??"percent"
niczego nie przydatnych wydajnością. library(sos); findFn("format percent")
zwraca 1250 trafień - więc znowu nie przydatne. ggplot2
ma funkcję, percent
ale nie daje kontroli nad dokładnością zaokrąglania.
sprintf
wydaje się być ulubionym rozwiązaniem na listach mailingowych i nie widziałem lepszego rozwiązania. Każda wbudowana funkcja i tak nie będzie o wiele prostsza do wywołania, prawda?