研 医学研究工作台Turning the repetitive chores of research into one-click tools
All tools/ Research tools

Baseline Table Generator

Available

Upload your table as-is, no recoding needed. First row must be column names, one variable per column.

Copy the header exactly (case and spaces are ignored).

Leave blank to use the first two distinct values.

Must match Excel exactly (case and surrounding spaces are trimmed).

默认「自动」:每个变量先做正态性检验(Shapiro-Wilk + 偏度),正态的用 t(按 Levene 方差齐性选 t/Welch),偏态的用 Mann-Whitney;统计量同时跟着走——正态显示均数±标准差,偏态显示中位数(四分位距)。选「全部强制 Mann-Whitney」则所有连续变量都用非参数、都显示四分位。

Used as the table title in the Word export.

The title is one step larger, the footnote one step smaller. Default matches the previous version.

ID-like columns (number, ID, 序号…) are excluded automatically; list any extras here.

Variables with few integer values that you want compared as counts (grades, days).

Variables with few values you want compared as continuous (takes priority over the box above).

About this tool

Upload an Excel file with a group column to get a publication-ready Table 1 (with test methods and missing-data notes)

自动判断每个变量该用哪种检验(先做正态性检验),P<0.05 自动标出。

写论文最花时间、又最容易被审稿人挑毛病的一步,就是Baseline table(Table 1):几十个变量,每个都要判断该用卡方还是 Mann-Whitney U,还要一个个数出 n(%)、算中位数和四分位距、标出 P 值,最后排成Three-line table——手工做一遍经常要一整天。

这tools把流程自动化:上传你原始的那份 Excel(不需要先做任何编码转换,汉字、英文、数字混着都行),告诉它哪一列是分组列、两组的取值是什么,剩下的它来做——判断变量类型、做正态性检验、选检验方法、算 P 值、排版Three-line table。

连续变量的处理是「看得见」的:每个变量先做正态性检验(两组分别算 Shapiro-Wilk 的 P 值和偏度,两组都近似正态才走 t,并按 Levene 方差齐性在 t 与 Welch t 之间选;否则走 Mann-Whitney U),统计量跟着检验走——用 t 的变量显示均数±标准差,用非参数的显示中位数(四分位距)。这样表里不会出现「写均数±SD、P 值却来自非参数检验」的错配。当然也可以一键「全部强制 Mann-Whitney」或「全部强制 t」。

和很多「一键出表」的工具不同,它会把判定依据一并交给你:每个变量是按分类还是连续处理、正态性检验的 P 值与偏度是多少、最终用了哪个检验、统计量是什么、最小期望频数是多少、有没有缺失值。判定不符合你的预期时,可以在表单里手工指定某几列的处理方式,再生成一次。

适用范围:两组比较(训练集 vs 测试集、有并发症 vs 无、预后好 vs 差)。超过两组的基线和多因素回归不在此工具范围内。所有计算在服务器上完成,上传的文件只用于本次计算、不保存。

数据要先做「汉字转数字」编码吗?

不用,直接上传原始 Excel 最好。工具内部会按列分别识别取值,表格里显示的仍是你在 Excel 里看到的内容(「男」「女」而不是 0/1)。

怎么知道每个变量是按分类还是连续处理的?

结果里有一张「变量判定说明」表:写明类型、判定依据、检验方法和缺失数。默认规则是——文本取值、或只有少数几个整数取值(如 0/1、分级 1–4)按分类处理;小数或取值较多的按连续处理。不符合预期时,在表单最后两栏填列名强制指定。

某一组里没有出现的类别会怎样?

照实显示为 0 (0.0%),整个变量不会消失。例如 TNM 分期 4 期只有训练集里有 1 例,测试集那一栏就是 0 (0.0%),P 值仍然由两组的完整列联表算出。

数据里有空格(缺失值)怎么办?

工具不会强行填 0:缺失值按变量排除,分母用各组实际填了的例数,并在结果里明确列出哪个变量缺了几个、缺在哪一组。正式Submission前建议先把缺失补齐。

上传的数据会被保存吗?

不会。文件只在服务器内存里参与本次计算,生成的 Excel/Word 放在临时目录,1 小时后自动删除,不写入数据库、不做任何留存。

为什么 P 值有时候写 <0.001?

小于 0.001 的 P 值一律显示为 <0.001,这是多数期刊的要求。Word 版里 P<0.05 的行会自动加粗。

为什么 TNM 分期这种 4 个类别的变量,检验方法写的是「蒙特卡洛 Fisher 精确检验」?

因为 Python 的 scipy 只在 2×2 表上能算出与 R 一致的 Fisher 精确 P 值;2×C(3 个类别以上)的精确算法在不同 scipy 版本之间结果会不一致——同一个列联表能被算成 0.1267 到 0.1309 之间的不同值。所以这里改用蒙特卡洛版 Fisher(10 万次抽样、固定随机种子,与 R 的 fisher.test(simulate.p.value=TRUE) 同法):同一个表实测 0.1255,R 的精确值是 0.1264,而卡方给的是 0.1548 —— 蒙特卡洛精确检验更靠近真值。同一种数据每次生成都得到同一个 P 值,没有随机波动。

生成的 P 值可以直接写进论文吗?

可以直接用,但有两条边界:一是分类变量用的是未校正 P 值(多重比较要自己做 Bonferroni 等校正);二是连续变量默认走「自动」——程序会对每个变量做正态性检验(两组分别算 Shapiro-Wilk P 值和偏度,两组都近似正态才走 t),并且统计量跟着检验走(用 t 的显示均数±标准差,用非参数的显示中位数(四分位距))。每个变量走了哪条路、依据是什么,都写在结果页的「变量判定说明」表里,可以直接核对。正式Submission前建议挑关键变量用 SPSS / R 交叉验证一次。

正态性是怎么判断的?为什么有时候看着不正态却给了 t?

判据是组合的,不是只看一个 P 值:例数 ≥8 时算 Shapiro-Wilk 的 P 和偏度,要求 P ≥ 0.05 且 |偏度| ≤ 1;例数 >5000 时 Shapiro 对微小偏离也会显著(几乎必然判不正态),改成只看偏度;例数 <8 不做检验、直接按偏态保守处理。每个变量的 P 值、偏度和最终结论都写在「变量判定说明」表里。如果你就是想全部用 t(或全部用非参数),在表单里选对应的「全部强制」那一档。