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

R语言如何合并formattable的两个表格并保留sparklines迷你图

R语言formattable合并表格并保留sparklines迷你图的方法

可以实现该需求,核心逻辑是:spk_chr()生成的迷你图本质是存储在数据框列中的HTML文本字符串,常规表格合并操作不会修改该内容,只需要在生成带迷你图的汇总表后、转成formattable对象前,完成与第二个表格的合并即可。

需要先加载依赖包:

library(tidyverse)
library(formattable)
library(sparkline)
library(DT)

完整运行代码如下:

# 原始数据集
test1<-structure(list(Name = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 
2L, 2L, 2L, 2L, 2L), .Label = c("John", "Mary"), class = "factor"), 
    year = c(2021L, 2021L, 2021L, 2021L, 2021L, 2021L, 2021L, 
    2021L, 2021L, 2021L, 2021L, 2021L), week = c(1L, 2L, 3L, 
    4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L), Total = c(3L, 2L, 0L, 
    0L, 1L, 0L, 3L, 2L, 0L, 0L, 1L, 0L)), class = "data.frame", row.names = c(NA, 
-12L))

data <- structure(list(Name = structure(2:1, .Label = c("John", "Mary"
), class = "factor"), Total_per_name = c(50L, 100L)), class = "data.frame", row.names = c(NA, 
-2L))

# 合并表并生成带sparklines的最终表格
test1 %>% 
  group_by(Name) %>%
  summarise("Weekly_trend" = spk_chr(Total)) %>%
  # 按Name列和第二个表格合并
  left_join(data, by = "Name") %>%
  formattable() %>%
  as.datatable() %>%
  spk_add_deps()

运行后最终生成的表格会同时包含Name、Weekly_trend(周度迷你图)、Total_per_name三个字段,迷你图可正常渲染。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:45:07