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

多变量列联表制作技术咨询(含示例变量参考)

多变量列联表制作建议

核心逻辑明确

你要做的是分组式多变量列联表:把分组变量(比如示例里的die/No die)作为行维度,其他需要展示的统计变量(比如Age cat (n)计数、Glucose score均值)作为列维度,呈现不同分组下的对应统计值。


具体实现方案

1. 代码自动化生成(推荐)

用工具直接计算+输出,避免手动排版出错,以下是两种常用工具的示例:

  • Python(Pandas)

    import pandas as pd
    
    # 假设数据集名为df,包含die、age_cat、glucose_score列
    # 按分组变量聚合计算所需统计量
    table = df.groupby('die').agg(
        Age_cat_count=('age_cat', 'count'),
        Glucose_mean=('glucose_score', 'mean')
    ).reset_index()
    
    # 调整列名匹配示例格式
    table.columns = ['', 'Age cat (n)', 'Glucose score']
    # 输出markdown格式表格
    print(table.to_markdown(index=False))
    

    运行后会直接生成对齐工整的markdown表格,和你的示例结构完全一致。

  • R(dplyr+gt)

    library(dplyr)
    library(gt)
    
    # 分组计算统计量
    table_data <- df %>%
      group_by(die) %>%
      summarise(
        `Age cat (n)` = n(),
        `Glucose score` = mean(glucose_score, na.rm = TRUE)
      ) %>%
      rename(` ` = die) # 清空分组列名,匹配示例样式
    
    # 生成美观的可导出表格
    table_data %>%
      gt() %>%
      fmt_number(columns = `Glucose score`, decimals = 2)
    

2. 手动Markdown排版

如果不用代码,直接手动写markdown表格,注意列对齐:

|          | Age cat (n) | Glucose score |
|----------|-------------|---------------|
| Die      | 18          | 2.24          |
| No die   | 20          | 3.31          |

第二行的短横线可以控制对齐:---默认居中,:---左对齐,---:右对齐,按需调整。

3. 多变量扩展技巧

如果要加入更多变量(比如BMI、血压),只需要在聚合步骤新增对应的统计量即可;如果列变量是多分类类型(比如Age cat分为<30、30-50、>50),可以把每个分类水平拆成单独列,展示分组下的占比或计数:

|          | Age <30 (n) | Age 30-50 (n) | Age >50 (n) | Glucose score |
|----------|-------------|---------------|-------------|---------------|
| Die      | 5           | 8             | 5           | 2.24          |
| No die   | 7           | 9             | 4           | 3.31          |

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 15:05:17