将单元格颜色映射到 kableExtra 中的数据值以创建热图表

2023-12-01

我有一个下表,想要应用 ROW 级别的热图。

(1) 知道怎么做吗?现在,热图对于下面单行中的两个值是相同的。

(2) 有没有办法使组列的标题不成 90 度角?现在所有标题都是有角度的,但对于组列来说,最好不设置角度=90。

这是 rmd 文件。

---
title: "Untitled"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)


library(dplyr)
library(kableExtra)
#d = data.frame(group= c("A","b"),cat1=c(2,50),cat2=c(100,2))
d = data.frame(group= c("A"),cat1=c(2),cat2=c(NA))

d = d %>%
    mutate_if(is.numeric, function(x) {
  cell_spec(x, "latex", bold = F, background = spec_color(x,option="C", begin=.5, end = 0.99))
}) 

```



```{r table , echo= FALSE, comment = FALSE, message= FALSE, warning = FALSE, fig.height=3, fig.width = 8} 

kable(
      d, format ="latex",
      caption = "",
      booktabs = T, 
      longtable = T,
      escape = F ,
      align = "c"
      ) %>% kable_styling(latex_options = c(
        "striped", 
        "repeat_header"
        )
       )%>% row_spec( 0,angle = 90)


```

注意:理想情况下,最好使用 kableExtra 功能来完成此操作,以便它们的配色方案与其他 kableExtra 表完全匹配。


我实际上不确定如何从中获取所需的颜色映射spec_color。作为替代方案,在下面的代码中,我使用以下代码生成了颜色映射colorRamp功能和调色板生成功能,可以根据需要进行调整。该代码还通过将缺失值着色为浅灰色来处理缺失值。

---
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(viridis)
library(dplyr)
library(kableExtra)

set.seed(2)
d = data_frame(group = sample(LETTERS[1:5], 10, replace=TRUE), cat1=runif(10, 0, 100), cat2=runif(10, 0, 100))
d[5,2] = NA

max.val = max(d[ , sapply(d, is.numeric)], na.rm=TRUE)

#pal.fnc = colorRamp(viridis_pal(option="C")(2))
pal.fnc = colorRamp(c("red", "yellow", "green"))

d = d %>%
    mutate_if(is.numeric, function(x) {
  cell_spec(round(x,1), "latex", bold = F, color=grey(.3),
            background = rgb(pal.fnc(x/max.val) %>% replace(., is.na(.), 200), maxColorValue=255))
}) 

```

```{r table , echo= FALSE, comment = FALSE, message= FALSE, warning = FALSE, fig.height=3, fig.width = 8} 
kable(
      d, format ="latex",
      linesep="",
      caption = "",
      booktabs = T, 
      longtable = T,
      escape = F ,
      align = "c"
      ) %>% kable_styling(latex_options = c(
        "striped", 
        "repeat_header"
        )
       )
```

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将单元格颜色映射到 kableExtra 中的数据值以创建热图表 的相关文章

  • R 中有没有快速替换列值的方法?

    假设我们有一个包含数值的数据框 如下所示 Temperature Height 32 157 31 159 33 139 我想更换Height价值观与pic 00001 pic 00002等等 最终结果是 Temperature Heigh
  • 在 Bookdown 中呈现附录图号

    Bookdown 是一个很棒的软件包 我期待看到它如何发展 但现在我在渲染数字方面遇到了麻烦pdf document2附录中的数字时的格式 具体来说 当带有标题的图形位于附录中时 图形编号应采用 A 1 A 2 B 1 B 2 等形式 但图
  • 从 data.frame 创建新列

    我有一个长格式的数据集 其中测量 时间 嵌套在 Networkpartners NP 中 而 Networkpartners NP 又嵌套在人员 ID 中 下面是它的示例 真实数据集有数千行 ID NP Time Outcome 1 11
  • iPython 笔记本上的内联数学模式

    在 iPython 笔记本中 我如何编写数学公式 例如r 2在一行中 乳胶词汇中的内联数学模式 IE 打印公式的时候可以不换行吗 如果像在 LaTeX 中一样 它应该是 r 2 但它不起作用 感谢您的帮助 在 Markdown 单元格中 您
  • 使用facet时ggplot2控制每行的面板数量?

    Is it possible to control the number of panels per row in a ggplot I can only get an equal number of panels on each row
  • 在 r 中的 unique() 函数中使用管道不起作用

    我在使用管道运算符 gt 和 unique 函数时遇到一些麻烦 df data frame a c 1 2 3 1 b a unique df a no problem here df gt unique a not working her
  • 如何在ggplot2中使用希腊符号?

    我的类别需要用希腊字母命名 我在用ggplot2 并且它与数据配合得很好 不幸的是 我无法弄清楚如何将这些希腊符号放在 x 轴上 在刻度线处 并使它们出现在图例中 有什么办法可以做到吗 更新 我看了一下link https github c
  • 将函数应用于每个列组合

    我有一个数据框n列并希望对每个列应用一个函数组合列 这与如何cor 函数将数据帧作为输入并生成相关矩阵作为输出 例如 X lt data frame A rnorm 100 B rnorm 100 C rnorm 100 cor X 这将生
  • r - 从我的应用程序下载shinyapps代码

    我正在尝试从shinyapps io 在另一台电脑上下载我的shiny 应用程序代码 我按照这个例子 https support rstudio com hc en us articles 204536588 从 shinyapps io下
  • R 中使用 randomForest 进行内存高效预测

    TL DR我想知道使用基于大型数据集 数百个特征 数十万行 构建的随机森林模型执行批量预测的内存有效方法 Details 我正在处理一个大型数据集 内存中超过 3GB 并且想要使用以下方法进行简单的二进制分类randomForest 由于我
  • 使用 plyr daply 将数据帧转换为矩阵

    我正在尝试使用daply函数在plyr包 但我无法让它正确输出 尽管组成矩阵的变量是数字 但矩阵的元素是列表 而不是变量本身 例如 以下是一小部分数据 Month Vehicle Samples 1 Oct 10 31057 256 2 O
  • 计算数据框中每一行的 R 条件运行总和

    我想创建一个等于 data Rating 的运行总和的列 假设第 3 列和第 4 列中有两个条件成立 特别是 data Year 换句话说 这应该计算直到上一年为止每个 id 的评分累积总和 它应该对数据框中的每一行 大约 50 000 行
  • 数据表中的 NA

    我有一个data table其中包含一些组 我对每个组进行操作 有些组返回数字 其他组返回NA 因为某些原因data table很难将所有东西重新组合在一起 这是一个错误还是我误解了 这是一个例子 dtb lt data table a 1
  • 如何将环境变量传递给shinyapps

    我想将安全参数传递给shinyapps io部署 以便我的应用程序可以通过以下方式获取它们 Sys getenv PASSWORD X 我找不到任何相关内容deployApp函数在rsconnect包裹 您可以使用Renviron网站 or
  • plot xts if (on == "years") { 中的错误:缺少 TRUE/FALSE 需要的值

    我正在尝试绘制 xts 对象 但出现有关年份的错误 xts 对象只有一个数值和一个 POSIXct 索引 下面的代码显示了 xts 和尝试绘图时的错误 关于需要对 xts 对象做什么才能正确绘制的任何想法 xTest lt as xts 3
  • 如何缩放(标准化)每列内的 ggplot2 stat_bin2d 值(按 X 轴)

    我有一个 ggplot stat bin2d 热图 library ggplot2 value lt rep 1 5 1000 df lt as data frame value df group lt rep 1 7 len 5000 d
  • 将水平线添加到 html rmarkdown 文档隐藏文本部分

    我正在制作一个与 HTML 页面结合的 Rmarkdown 文档 我不想用标题或项目符号分隔某些文本部分 而是想在它们之间绘制水平线 根据http rmarkdown rstudio com authoring basics html ht
  • 如何在RcppParallel中调用用户定义的函数?

    受到文章的启发http gallery rcpp org articles parallel distance matrix http gallery rcpp org articles parallel distance matrix 我
  • 删除绘图轴值

    我只是想知道是否有一种方法可以消除 r 图中的轴值 分别是 x 轴或 y 轴 我知道axes false将摆脱整个轴 但我只想摆脱编号 删除 x 轴或 y 轴上的编号 plot 1 10 xaxt n plot 1 10 yaxt n 如果
  • linux下无法安装Cairo包

    我在本地下载该软件包并尝试安装它 但出现此错误 R CMD INSTALL l usr local lib64 R library Cairo 1 5 1 tar gz 我得到他的错误 checking for PNG support in

随机推荐

  • 默认情况下选择 ManyToManyField 中的所有选项

    默认情况下是否可以选择 Django 中 ManyToManyField 生成的多个选择中的所有选项 添加的所有新项目都应在视图中预先选择所有选项 也在添加新项目时 AnotherEntity class AnotherEntity mod
  • 根据可用性在 GPS 和网络提供商之间切换

    public void onCreate locationListener new GeoUpdateHandler locationManager LocationManager getSystemService Context LOCA
  • 在两列上使用 pandas 进行因式分解

    我在 pandas 数据框中有一些数据 如下所示 CAR TYPE MILEAGE FORD 100 FORD 100 FORD 200 FORD 300 VW 100 VW 150 VW 150 VW 300 我想对数据进行 因式分解 为
  • C# FTP 550错误

    我正在尝试通过 FTP 以编程方式下载 C 中的文件 以下是相关代码 显然带有伪造的凭据和 URI try var request FtpWebRequest Create ftp ftp mydomain com folder file
  • Zxing条码源码集成到Android项目中[重复]

    这个问题在这里已经有答案了 我想将 zxing 源代码集成到我的 Android 应用程序中 我已经下载了 zxing1 5 并将整个代码集成到我的应用程序中 并且我通过意图调用活动 CaptureActivity 它仅显示相机视图 但不扫
  • 当 WooCommerce 中有运费时如何隐藏免费送货

    我正在尝试计算乔治亚州不同城市的运费 我找到了这段代码 function ace change city to dropdown fields cities array Tbilisi city2 etc city args wp pars
  • 将类标记为final是否也会使每个函数成为final?

    正如标题所说 我想知道是否通过将类设为final 并让编译器进行速度优化 我是否还需要将函数标记为final 否则它们会自动变为final final应用于类使其不可子类化 因此在任何情况下您都不能覆盖任何函数或属性 因为为此您必须创建一个
  • 使用 COM 时,为什么 TypeName() 从 .GetType 和 TypeOf 返回不同的结果?

    我觉得了解这些函数工作原理的差异会让我受益匪浅 这样我就可以更好地理解何时使用每个函数 我在使用两种不同的互操作性 Excel 和 EPDM 时遇到了非常困难的情况 这两种互操作性都广泛使用了弱类型参数 我在使用返回的对象并将其转换为正确的
  • 防止屏幕捕获软件捕获应用程序屏幕

    我正在研究考试系统 作为系统的安全部分 我不希望任何人通过屏幕录制或使用如此多的免费应用程序进行桌面共享来远程泄露试卷 首先我搜索我可以阻止此类应用程序吗 但我不这么认为 因为记录 共享屏幕的方法有很多 然后我开始了解 HDCP 但我想它只
  • S3 到 Redshift:复制但访问被拒绝

    我们以前每天使用 COPY 命令从没有特定策略的存储桶将文件从 s3 复制到 Redshift COPY schema table staging FROM s3 our bucket X YYYY MM DD CREDENTIALS aw
  • 计算字符串中的大写字母

    如何使用 MySQL 查询计算大写字母 我现在正在尝试 COUNT IF MATCH post text AGAINST A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 NULL
  • Vue-router4 - 使用 传递对象不会传递动态数据

    我经历过这个 电子邮件受保护 对象参数这是有一定关系的 有提到这个https github com vuejs vue router next issues 494在那条线索中 但我仍然很困惑 我还尝试使用传递一些数据 to的属性路由器链接
  • 为什么使用 loc 和切片分配给数据帧与使用单列分配不同?

    我正在尝试将列从浮点型更新为整数型 考虑df在以下两种场景中 df pd DataFrame dict A 1 1 2 B 1 2 print df A dtype df loc A df A astype int print df A d
  • Angular 2将服务注入扩展类(BaseRequestOptions)

    我有以下代码扩展BaseRequestOptions class import Injectable from angular core Injectable export class AppRequestOptions extends B
  • Zend 资源自动加载器不适用于名称空间

    我在 Zend Framework 的自动加载方面遇到了困难 基本上 库文件夹中有一个名为 LunaZend 的文件夹 LunaZend 有一些可以在 Zend Framework 中使用的类 这些类具有命名空间 并且必须仅通过调用命名空间
  • 提示数独谜题的单个值

    我希望有人能够帮助我 我正在制作一个数独游戏 我编写了一个解决整个难题的类 当然它连接到另一个java文件中的操作按钮 并且效果很好 我想知道的是 如果我想制作一个 提示 按钮 是否有人可以为我指明正确的方向 该按钮会随机将正确的值应用于一
  • ListView.addFooterView(v) 不显示

    我在布局内声明了一个 ListView 当我 addFooterView v 时它不显示 造成这种情况的可能原因有哪些 ListView 或我的适配器中是否有一些设置可以立即显示此内容 它最终会显示 但只有在重新初始化视图 适配器等之后才会
  • 如何使用 python xarray 使用多维坐标对数据进行子集化?

    我有一个使用多维坐标的 netcdf 文件 我的 xarray 数据集看起来像这样
  • 使用自定义 ISO 创建 Google Cloud 实例

    我想使用 Ubuntu 18 04 LTS 创建一个新的 Google Cloud Compute Engine 实例 我尝试使用内置映像来完成此操作 并尝试使用 VNC 设置 Ubuntu 桌面 我最终确实把一切都搞定了 但觉得安装桌面环
  • 将单元格颜色映射到 kableExtra 中的数据值以创建热图表

    我有一个下表 想要应用 ROW 级别的热图 1 知道怎么做吗 现在 热图对于下面单行中的两个值是相同的 2 有没有办法使组列的标题不成 90 度角 现在所有标题都是有角度的 但对于组列来说 最好不设置角度 90 这是 rmd 文件 titl