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

如何用qwraps2包合并均值±标准差与均值置信区间输出?

使用qwraps2生成指定格式的统计表格

步骤1:加载包与导入数据

首先加载所需工具包,导入你的数据集:

library(qwraps2)
library(dplyr)
library(stringr)

# 设置qwraps2输出Markdown格式
options(qwraps2_markup = "markdown")

# 导入数据集
df <- structure(list(PREOP_mTFA = c(163.5, 164.9, 168.7, 170.3, 162.8, 
166.7, 171, 165.9, 165.9, 170.8, 170.5, 173.3, 167.7, 170.7, 
159, 170.9, 168.2, 171.2, 164, 166.6, 169.1, 171.2, 175.9), PREOP_mLDFA = c(86, 
95, 90, 86, 92, 89, 92, 96, 90, 86, 89, 87, 93, 90, 98, 89, 90, 
88, 92, 91, 89, 90, 88)), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -23L))

步骤2:自定义统计格式函数

写一个函数直接生成「均值±标准差 [下限置信区间, 上限置信区间]」的格式,避免均值重复:

mean_sd_ci <- function(x, digits = 2) {
  # 计算均值±标准差
  ms_result <- mean_sd(x, digits = digits, show_n = FALSE)
  # 拆分均值和标准差
  mean_part <- str_extract(ms_result, "^\\d+\\.\\d+")
  sd_part <- str_extract(ms_result, "(?<=±)\\d+\\.\\d+")
  
  # 计算置信区间并提取数值部分
  ci_result <- mean_ci(x, digits = digits, show_n = FALSE)
  ci_part <- str_remove_all(ci_result, "\\(|\\)")
  
  # 拼接成目标格式
  paste0(mean_part, "±", sd_part, " [", ci_part, "]")
}

步骤3:定义表格规范并生成统计表格

指定统计变量的展示名称,生成最终表格:

# 定义表格结构
table_spec <- list(
  "术前胫骨股骨角(PREOP_mTFA)" = list(
    "统计结果" = ~mean_sd_ci(PREOP_mTFA)
  ),
  "术前外侧远端股骨角(PREOP_mLDFA)" = list(
    "统计结果" = ~mean_sd_ci(PREOP_mLDFA)
  )
)

# 生成表格
result_table <- summary_table(df, table_spec)

最终输出效果

在R Markdown中直接打印result_table,会得到如下美观的Markdown表格:

统计结果
术前胫骨股骨角(PREOP_mTFA)168.47±4.37 [166.60, 170.34]
术前外侧远端股骨角(PREOP_mLDFA)90.30±3.52 [88.83, 91.77]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 18:21:04