【问题标题】:Flextable Basic Conditional FormattingFlextable 基本条件格式
【发布时间】:2020-07-04 14:07:11
【问题描述】:

我有一个弹性表,我试图根据百分比数字是否 > 或小于某个百分比来有条件地格式化百分比数字。这是一种简单的条件格式,所以我不确定为什么它不起作用。我觉得好像我在这里遗漏了一些明显的东西。

这是一个例子:


myft = structure(list(Name = c("Bob", "Fred", "Joe"), `2020-03-30` = c(96, 
                                                                       100, 36)), row.names = c(NA, -3L), class = c("tbl_df", "tbl", 
                                                                                                                    "data.frame"))
myft = flextable(myft)


myft = bg(myft, i = ~ Name  > 50,
            j = 2,
            bg="red")
myft

此代码生成此图像:

【问题讨论】:

    标签: r conditional-formatting flextable


    【解决方案1】:

    您想使用基于“2020-03-30”列的条件格式:

    library(flextable)
    myft = structure(list(Name = c("Bob", "Fred", "Joe"), `2020-03-30` = c(96, 
                                                                           100, 36)), row.names = c(NA, -3L), class = c("tbl_df", "tbl", 
                                                                                                                        "data.frame"))
    myft = flextable(myft)
    
    
    myft = bg(myft, i = ~ `2020-03-30`  > 50, 
              j = 2,
              bg="red")
    myft
    

    编辑:

    如果您想要跨多个列进行条件着色,您可以创建一个颜色矩阵:

    library(flextable)
    myft = structure(list(Name = c("Bob", "Fred", "Joe"), 
                          `2020-03-30` = c(96, 100, 36),
                          `2020-04-30` = c(30, 100, 36)), 
                     row.names = c(NA, -3L), class = c("tbl_df", "tbl", "data.frame"))
    
    colormatrix <- ifelse(myft[, -1] > 50, "red", "white")
    myft %>% flextable() %>% bg(j = 2:3, bg=colormatrix)
    

    【讨论】:

    • 知道这很明显。但现在,我尝试将其应用于所有具有日期的列,使用一个向量,其中所有日期都在 i 和 j 中。如果我有很多日期列,我该如何继续应用它?
    • 或许可以看看stackoverflow.com/questions/58677080/…如何创建颜色网格。
    • 您上面的编辑工作就像做梦一样!!谢谢!这真的会派上用场,为我节省大量时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    相关资源
    最近更新 更多