Kable cell_spec格式会删除表格的行标签

问题描述

在R markdown中,我试图使用kable包有条件地格式化html表。我有一个表bigT_output看起来像这样 enter image description here

我使用Kable将此代码格式化

    kable(bigT_output[,1:7],booktabs=TRUE,align="c") %>% 
  pack_rows(
    index = c("Performance Standard" = 1,"Percentile Rank (max 100)" = 3,"Productivity" = 2)
    )%>% 
  kable_styling(bootstrap_options = "hover")

它使html输出中的这个漂亮的表: enter image description here

理想情况下,我想格式化整个第一行(等级),以根据背景是ME,BE,DE等来更改背景。但是为了测试,我试图更改仅一列的背景。当我使用cell_spec时,它将删除所有行标签,并忽略我的其他kable格式选项,如下所示: enter image description here

这是代码:

    bigT_output %>%
mutate(Merch = cell_spec(Merch,"html",background="green")) %>%
kable(bigT_output[,"Productivity" = 2)
    )%>% 
  kable_styling(bootstrap_options = "hover")

如何既可以使表带有小标题又可以使表的某一行格式化又又不丢失行标签呢?我尝试做的所有事情总是出错。谢谢您的阅读。

解决方法

解决方案是将行名保存在创建表的函数中。然后调用该函数,转换为数据框,进行变色以获取颜色(mutate_all(funs()),添加行名(rownames<-(bigT_row_names)),然后应用kable_styling。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...