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.12345jako 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, ?formatCi ?prettyNummuszę 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. ggplot2ma funkcję, percentale nie daje kontroli nad dokładnością zaokrąglania.
sprintfwydaje 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?