微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flextable 相关表的条件格式

如何解决Flextable 相关表的条件格式

我正在寻找一种方法来对 flextable 中的相关矩阵进行条件格式设置,以便在给定特定值(例如 .5)的情况下,突出显示高于该值的单元格。我查看了以前关于 SO 的条件格式问题,但无法实施解决方案。这是我的 reprex,它最终突出显示了所有单元格:

my_data <- mtcars[,c(1,3,4,5,6,7)] #data
res <- cor(my_data) #initial correlation matrix

res[upper.tri(res)] <- NA # erase the upper triangle
diag(res) <- NA 

res %>%
  as.data.frame() %>%
  rownames_to_column("var") %>%
  flextable::flextable() %>%
  flextable::bg(i = rownames(res) > .5,j = 2:ncol(res),bg = "light blue")

解决方法

这是一个可能的解决方案:

library(flextable)
library(magrittr)
library(tibble)

my_data <- mtcars[,c(1,3,4,5,6,7)] #data
res <- cor(my_data) #initial correlation matrix

res[upper.tri(res)] <- NA # erase the upper triangle
diag(res) <- NA 

res %>%
  as.data.frame() %>%
  rownames_to_column("var") %>%
  flextable::flextable() %>%
  flextable::bg(j = 2:ncol(res),bg = function(x){
                  out <- rep("transparent",length(x))
                  out[x < .5] <- "light blue"
                  out
                })

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。