【问题标题】:how to modify the style of a row of a table with formattable/ kableextra如何使用 formattable/kableextra 修改表格行的样式
【发布时间】:2018-10-01 00:48:45
【问题描述】:

我有这样的酒吧桌 (what I have)。 我的问题是我希望最后一行没有颜色条(默认情况下:只有数字)

image of the code

data(mtcars)

library(knitr)
library(kableExtra)
library(formattable)
library(dplyr)
library(stringr)

mtcars[1:5, 1:4] %>%
  mutate(
    car = row.names(.),
    mpg = color_bar("lightgreen")(mpg),
    cyl = color_bar("lightgreen")(cyl),
    disp = color_bar("lightgreen")(disp),
    hp = color_bar("lightgreen")(hp)
  ) %>%
  select(car, everything()) %>%
  kable("html", escape = F) %>%
  kable_styling("hover", full_width = F) %>%
  column_spec(5, width = "3cm") 

提前谢谢你

【问题讨论】:

    标签: r dplyr knitr kableextra formattable


    【解决方案1】:

    调用color_bar("lightgreen") 提供了一个函数,该函数在背景中设置一个带有条形的向量。因此,如果您只想格式化第一部分,请编写您自己的函数,仅以这种方式格式化第一个 n-1 条目。例如:

    my_color_bar <- function(color) {
      mainpart <- color_bar(color)
      function(x) {
        start <- x[-length(x)]
        last <- x[length(x)]          
        c(mainpart(start), last)
      }
    }
    

    然后使用该函数而不是原始函数生成表格:

    mtcars[1:5, 1:4] %>%
            mutate(
                    car = row.names(.),
                    mpg = my_color_bar("lightgreen")(mpg),
                    cyl = my_color_bar("lightgreen")(cyl),
                    disp = my_color_bar("lightgreen")(disp),
                    hp = my_color_bar("lightgreen")(hp)
            ) %>%
            select(car, everything()) %>%
            kable("html", escape = FALSE) %>%
            kable_styling("hover", full_width = FALSE) %>%
            column_spec(5, width = "3cm") 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多