首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中创建表格时,如何让kable和formattable协同工作?

在R中创建表格时,如何让kable和formattable协同工作?
EN

Stack Overflow用户
提问于 2019-12-20 00:52:55
回答 1查看 787关注 0票数 0

kableExtra和formattable都有非常棒的特性,我希望能够将它们合并到我的表中。

下面是使用formattable格式化的表格:

代码语言:javascript
复制
Health_status = c("Very good", "Good", "Fair", "Bad", "Very bad", "Not stated", "Total")
Number = c(1032169, 453975, 125502, 22095, 5019, 73528, 1712288)
Percent = c(60.3, 26.5, 7.3, 1.3, 0.3, 4.3, 100)
Change = c(37672, 15231, 6536, 1988, 525, 30315, 92267)
Percent_Change = c(3.8, 3.5, 5.5, 9.9, 11.7, 70.2, 5.7)
df <- data.frame(Health_status, Number, Percent, Change, Percent_Change)

df %>% 
  formattable(align = c("l", "r", "r", "r", "r"),
              list(Health_status = formatter("span", style = style(color = "grey")),
                   Change = color_bar("#71CA97")))

它会生成这个表:

我想添加一些其他功能(比如表格标题),这些功能在formattable中似乎无法做到,但在kable中却可以做到。但是,当我包含一个kable包时,整个表都会丢失,这是很明显的变化:

代码语言:javascript
复制
df %>% 
  formattable(align = c("l", "r", "r", "r", "r"),
              list(Health_status = formatter("span", style = style(color = "grey")),
                   Change = color_bar("#71CA97"))) %>% 
    kable(caption = "Table1")

有没有一种方法可以只使用formattable来包含表格标题?(我不认为有)如果没有,有没有办法同时使用formattable和kable呢?

感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2019-12-20 02:24:12

找到了一个使用kableExtraformattable的示例,它对here很有帮助。

代码语言:javascript
复制
library(formattable)
library(kableExtra)

df %>% 
  mutate(
    Change = color_bar("#71CA97")(Change),
    Health_status = cell_spec(Health_status, "html", color = "grey")
  ) %>%
  kable("html", escape = F, caption = "Table 1", align = c("l", "r", "r", "r", "r")) %>%
  kable_styling("hover", full_width = F) %>%
  column_spec(4, width = "3cm")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59413937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档