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