You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中创建基于频次的颜色编码评分者交叉对比表?

实现带频次颜色编码的评分交叉对比表

可以使用R中的gt包(推荐,功能丰富)或formattable包来实现基于频次的颜色编码表格,以下是具体步骤:

方法一:使用gt包(推荐)

gt包提供了灵活的表格样式定制功能,适合创建专业的可视化表格。

步骤1:安装并加载gt包

install.packages("gt")
library(gt)

步骤2:转换交叉表为数据框

将table()生成的交叉表转换为适合gt处理的数据框格式:

# 生成交叉表并转换为数据框
cross_tab <- as.data.frame.matrix(table(df$score_assessor1, df$score_assessor2))
# 将行名转为列(显示评分者1的评分)
cross_tab$assessor1 <- rownames(cross_tab)
# 调整列顺序,将评分者1的评分放在首位
cross_tab <- cross_tab[, c("assessor1", paste(1:9))]

步骤3:创建带颜色编码的表格

根据频次范围定义颜色规则,并应用到表格中:

# 创建样式表格
styled_table <- gt(cross_tab) %>%
  # 设置列标题
  cols_label(
    assessor1 = "评分者1",
    `1` = "1", `2` = "2", `3` = "3", `4` = "4", `5` = "5",
    `6` = "6", `7` = "7", `8` = "8", `9` = "9"
  ) %>%
  # 应用频次颜色编码
  data_color(
    columns = 2:10, # 选择需要着色的频次列
    colors = scales::col_bin(
      palette = c("white", "#FFFF00", "#FFA500", "#FF0000"), # 对应规则的颜色:白、黄、橙、红
      bins = c(-Inf, 0, 11, 30, Inf), # 划分频次区间:0、1-10、11-29、30+
      na.color = "white"
    )
  ) %>%
  # 添加表格标题(可选)
  tab_header(title = "两位评分者评分交叉对比表(带频次颜色编码)")

# 显示表格
styled_table

方法二:使用formattable包

如果偏好更简洁的语法,可以使用formattable包:

步骤1:安装并加载依赖包

install.packages("formattable")
library(formattable)
library(dplyr) # 需要用到case_when函数

步骤2:创建颜色格式化函数

# 定义基于频次的颜色规则
color_formatter <- formatter("span",
                             style = x ~ style(
                               background = case_when(
                                 x == 0 ~ "white",
                                 x > 0 & x < 11 ~ "#FFFF00",
                                 x >= 11 & x < 30 ~ "#FFA500",
                                 x >= 30 ~ "#FF0000"
                               )
                             ))

步骤3:生成格式化表格

# 转换交叉表为数据框(同方法一)
cross_tab <- as.data.frame.matrix(table(df$score_assessor1, df$score_assessor2))
cross_tab$assessor1 <- rownames(cross_tab)
cross_tab <- cross_tab[, c("assessor1", paste(1:9))]

# 生成带颜色的表格
formattable(cross_tab,
            list(
              `1` = color_formatter, `2` = color_formatter, `3` = color_formatter,
              `4` = color_formatter, `5` = color_formatter, `6` = color_formatter,
              `7` = color_formatter, `8` = color_formatter, `9` = color_formatter
            ))

自定义调整

  • 可以修改颜色的十六进制代码(如#FFFF00为黄色)来匹配你的需求。
  • 调整bins参数或case_when中的条件,以适配不同的频次区间划分。

内容的提问来源于stack exchange,提问作者esptang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 18:15:38