Проценты не работают с функцией area() - форматируется

Я пытаюсь создать таблицу с процентным значением, используя area() функция. Но на самом деле это не работает вообще (т.е. процентное значение). Кто-нибудь знает как это исправить?

#library(magrittr)
#library(dplyr)
#library(formattable)
#library(scales)

set.seed(123)
df <- data.frame(id = 1:10, 
             a = rnorm(10), b = rnorm(10), c = rnorm(10))

df <- df %>% 
    mutate(a = percent(a), b = percent(b), c = percent(c))

# show percentage value without using area function
formattable(df, list(a = color_tile("transparent", "pink"),
                     b = color_tile("transparent", "pink"),
                     c = color_tile("transparent", "pink")))

# does not show percentage value
formattable(df, list(area(col = a:c) ~ color_tile("transparent", "pink")))

sessionInfo()

[1] formattable_0.2   DT_0.1            scales_0.4.0 
[4] tidyr_0.4.1       rCharts_0.4.5     dplyr_0.4.3      
[7] shiny_0.13.2     

2 ответа

Просто дополнение к комментарию Лилианы:

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

percent2 <- function(x) {
   x <- percent(x, 2)
}

Затем вы можете использовать это с тильдой с предопределенным количеством десятичных знаков.

formattable(df, list(area(col = a:c) ~ percent2))

Пока что наилучшие результаты, которые я получил, использовали этот код:

formattable(df, list(area(col = a:c) ~ percent))

Но я не знаю, как изменить количество цифр в номере:(

Другие вопросы по тегам