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

如何从2×8的DataFrame生成可存为PDF的简单表格并调整列顺序

最简实现方案(R语言)

步骤1:准备环境与数据

首先加载必要的包,同时处理原始DataFrame中的list类型列(转换为数值型):

# 首次运行需安装包
install.packages(c("knitr", "kableExtra"))

# 加载依赖包
library(knitr)
library(kableExtra)

# 导入原始数据
df <- structure(list(A = list(0.934842767295597, 0.92922841571852), B = list(0.516589250165893, 0.525067529460655), C = list(0.867615330138182, 0.866211826128489), D = list(0.0881670095698295, 0.0834131044726853), E = list(0.85734568558549, 0.856776377557092), F = list(1.02523463957426, 1.01379194951716), G = list(0.444709565304963, 0.419220178831526), H = c(0.22, 0.25)), row.names = c(18L,21L), class = "data.frame")

# 将list类型列转换为数值型
df[] <- lapply(df, function(x) if(is.list(x)) unlist(x) else x)

步骤2:调整列顺序(将H移至最左侧)

两种调整方式可选:

  • 通用灵活版(无需硬编码所有列名):
new_col_order <- c("H", setdiff(names(df), "H"))
df <- df[, new_col_order]
  • 固定顺序版(手动指定所有列):
df <- df[, c("H", "A", "B", "C", "D", "E", "F", "G")]

步骤3:设置行名与生成格式化表格

修改行名并生成符合要求的白色简洁表格:

# 设置自定义行名
rownames(df) <- c("scenario 1", "scenario 2")

# 生成表格并格式化:保留两位小数,白色主题
table <- kable(df, digits = 2, caption = "Scenario Comparison") %>%
  kable_styling(theme = "white", full_width = FALSE)

步骤4:保存为PDF文件

直接导出为PDF:

save_kable(table, file = "scenario_table.pdf")

关键说明

  • digits = 2参数统一设置所有数值保留两位小数,无需单独处理每一列
  • kable_styling(theme = "white")生成无多余背景色的简洁白色表格
  • 通用列顺序调整方法适合列数较多的场景,避免手动维护列名列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:02:02