%不适用于area()函数 - formattable

时间:2016-08-01 13:48:12

标签: r formattable

我尝试使用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 个答案:

答案 0 :(得分:0)

到目前为止,我得到的最好结果是使用此代码:

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

但我不知道如何更改数字中的位数:(

答案 1 :(得分:0)

只是Liliana评论的补充:

您还可以在首次创建自己的函数时指定小数位数,即:

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

然后,您可以将其与预定义小数位数的波浪号一起使用。

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