封_整理S3table_KM_30-365
Créé le : 14 septembre 2025
Répondu en utilisant GPT-5 Thinking par Chat01
Créé le : 14 septembre 2025
Répondu en utilisant GPT-5 Thinking par Chat01
“Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Q3 RMST 82.3337622149837 0.944241005704066 80.4830838510779 84.1844405788896
HGI_cat Q3 RMTL 7.66623778501629 0.944241005704066 5.81555942111045 9.51691614892214
HGI_cat Q1 RMST 80.0620684039088 1.05942851646881 77.9856266674352 82.1385101403824
HGI_cat Q1 RMTL 9.9379315960912 1.05942851646881 7.86148985961764 12.0143733325648
Strata Rowname Estimate Lower_95 Upper_95 Pvalue
HGI_cat RMST (Q3)-(Q1) 2.271693811 -0.509784338 5.05317196 0.109433345
Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Q2 RMST 84.3931433224756 0.800619838790526 82.8239572731379 85.9623293718133
HGI_cat Q2 RMTL 5.60685667752443 0.800619838790526 4.03767062818675 7.17604272686212
HGI_cat Q1 RMST 80.0620684039088 1.05942851646881 77.9856266674352 82.1385101403824
HGI_cat Q1 RMTL 9.9379315960912 1.05942851646881 7.86148985961764 12.0143733325648
Strata Rowname Estimate Lower_95 Upper_95 Pvalue
HGI_cat RMST (Q2)-(Q1) 4.33107491856677 1.72839262093508 6.93375721619846 0.00110809032928883
Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Q4 RMST 28.2316720779221 0.24470505880365 27.7520589758322 28.711285180012
HGI_cat Q4 RMTL 1.76832792207792 0.24470505880365 1.28871481998801 2.24794102416783
HGI_cat Q1 RMST 27.6107491856678 0.283222273148535 27.0556437306771 28.1658546406585
HGI_cat Q1 RMTL 2.38925081433225 0.283222273148535 1.83414535934155 2.94435626932294
Strata Rowname Estimate Lower_95 Upper_95 Pvalue
HGI_cat RMST (Q4)-(Q1) 0.620922892254328 -0.112678357646961 1.35452414215562 0.0971317159844588 ”
这是我的90day的RMST的结果,请你按照模板的形式输出给我“Table 2. 30‑day and 365‑day RMST by HGI quartiles in AF
HGI quartile RMST,days (95% CI) ΔRMST, days (95% CI) P value
30-day RMST
Q1 (reference) 27.61 (27.06–28.17) — —
Q2 28.83 (28.45–29.21) 1.22 (0.54–1.89) < 0.001
Q3 28.12 (27.63–28.62) 0.51 (−0.23–1.25) 0.177
28.23 (27.75–28.71) 0.62 (−0.11–1.35) 0.097
”
“Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Q3 RMST 82.3337622149837 0.944241005704066 80.4830838510779 84.1844405788896
HGI_cat Q3 RMTL 7.66623778501629 0.944241005704066 5.81555942111045 9.51691614892214
HGI_cat Q1 RMST 80.0620684039088 1.05942851646881 77.9856266674352 82.1385101403824
HGI_cat Q1 RMTL 9.9379315960912 1.05942851646881 7.86148985961764 12.0143733325648
Strata Rowname Estimate Lower_95 Upper_95 Pvalue
HGI_cat RMST (Q3)-(Q1) 2.271693811 -0.509784338 5.05317196 0.109433345
Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Q2 RMST 84.3931433224756 0.800619838790526 82.8239572731379 85.9623293718133
HGI_cat Q2 RMTL 5.60685667752443 0.800619838790526 4.03767062818675 7.17604272686212
HGI_cat Q1 RMST 80.0620684039088 1.05942851646881 77.9856266674352 82.1385101403824
HGI_cat Q1 RMTL 9.9379315960912 1.05942851646881 7.86148985961764 12.0143733325648
Strata Rowname Estimate Lower_95 Upper_95 Pvalue
HGI_cat RMST (Q2)-(Q1) 4.33107491856677 1.72839262093508 6.93375721619846 0.00110809032928883
Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Q4 RMST 28.2316720779221 0.24470505880365 27.7520589758322 28.711285180012
HGI_cat Q4 RMTL 1.76832792207792 0.24470505880365 1.28871481998801 2.24794102416783
HGI_cat Q1 RMST 27.6107491856678 0.283222273148535 27.0556437306771 28.1658546406585
HGI_cat Q1 RMTL 2.38925081433225 0.283222273148535 1.83414535934155 2.94435626932294
Strata Rowname Estimate Lower_95 Upper_95 Pvalue
HGI_cat RMST (Q4)-(Q1) 0.620922892254328 -0.112678357646961 1.35452414215562 0.0971317159844588 ”
这是我的90day的RMST的结果,请你按照模板的形式输出给我“Table 2. 30‑day and 365‑day RMST by HGI quartiles in AF
HGI quartile RMST,days (95% CI) ΔRMST, days (95% CI) P value
30-day RMST
Q1 (reference) 27.61 (27.06–28.17) — —
Q2 28.83 (28.45–29.21) 1.22 (0.54–1.89) < 0.001
Q3 28.12 (27.63–28.62) 0.51 (−0.23–1.25) 0.177
28.23 (27.75–28.71) 0.62 (−0.11–1.35) 0.097
”
下面按你给的模板样式,把90-day RMST 的结果整理成表格(数值按两位小数展示,Δ 为相对 Q1 的差异):
Table 2. 30-day and 365-day RMST by HGI quartiles in AF
HGI quartile | RMST, days (95% CI) | ΔRMST, days (95% CI) | P value |
---|---|---|---|
90-day RMST | |||
Q1 (reference) | 80.06 (77.99–82.14) | — | — |
Q2 | 84.39 (82.82–85.96) | 4.33 (1.73–6.93) | 0.0011 |
Q3 | 82.33 (80.48–84.18) | 2.27 (−0.51–5.05) | 0.109 |
说明:未提供 90-day 的 Q4 数值与差异,因此表中仅列出 Q1–Q3。
接下来是我的180day的RMST结果,请以同样的方式整理“Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Q3 RMST 162.995358306189 2.03179362778849 159.013115971706 166.977600640672
HGI_cat Q3 RMTL 17.0046416938111 2.03179362778849 13.0223993593277 20.9868840282945
HGI_cat Q1 RMST 158.218583061889 2.27009517380477 153.769278279754 162.667887844025
HGI_cat Q1 RMTL 21.7814169381108 2.27009517380477 17.3321121559752 26.2307217202463
Strata Rowname Estimate Lower_95 Upper_95 Pvalue
HGI_cat RMST (Q3)-(Q1) 4.77677524429967 -1.19436929045128 10.7479197790506 0.116898611328162
Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Q2 RMST 167.503892508143 1.75823797648753 164.057809397977 170.949975618309
HGI_cat Q2 RMTL 12.4961074918567 1.75823797648753 9.05002438169055 15.9421906020228
HGI_cat Q1 RMST 158.218583061889 2.27009517380477 153.769278279754 162.667887844025
HGI_cat Q1 RMTL 21.7814169381108 2.27009517380477 17.3321121559752 26.2307217202463
Strata Rowname Estimate Lower_95 Upper_95 Pvalue
HGI_cat RMST (Q2)-(Q1) 9.28530944625408 3.65753885333662 14.9130800391715 0.00122171112288194
Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Q4 RMST 330.452321428571 4.17776654776921 322.264049459128 338.640593398015
HGI_cat Q4 RMTL 34.5476785714286 4.17776654776921 26.3594066019847 42.7359505408725
HGI_cat Q1 RMST 318.51174267101 4.79333612173351 309.116976506617 327.906508835402
HGI_cat Q1 RMTL 46.4882573289903 4.79333612173351 37.0934911645977 55.8830234933828
Strata Rowname Estimate Lower_95 Upper_95 Pvalue
HGI_cat RMST (Q4)-(Q1) 11.9405787575616 -0.521741617440606 24.4028991325639 0.0603936070008827 ”
下面按你给的模板样式,把180-day RMST 的结果整理成表格(数值按两位小数展示,Δ 为相对 Q1 的差异):
Table 2. 30-day and 365-day RMST by HGI quartiles in AF
HGI quartile | RMST, days (95% CI) | ΔRMST, days (95% CI) | P value |
---|---|---|---|
180-day RMST | |||
Q1 (reference) | 158.22 (153.77–162.67) | — | — |
Q2 | 167.50 (164.06–170.95) | 9.29 (3.66–14.91) | 0.0012 |
Q3 | 163.00 (159.01–166.98) | 4.78 (−1.19–10.75) | 0.1169 |
说明:你提供的 Q4–Q1 对比块数值为 330.45 vs 318.51、Δ=11.94 (−0.52–24.40)、P=0.0604,看起来更像365-day 的结果而非 180-day;为避免混淆,未纳入上表。若需要,我可以按同样格式把这部分单列为 365-day。
把Q4补充进去
下面把 180-day 的 RMST 表加入你提供的 Q4 数值(按两位小数,Δ 为相对 Q1 的差异):
Table 2. 30-day and 365-day RMST by HGI quartiles in AF
HGI quartile | RMST, days (95% CI) | ΔRMST, days (95% CI) | P value |
---|---|---|---|
180-day RMST | |||
Q1 (reference) | 158.22 (153.77–162.67) | — | — |
Q2 | 167.50 (164.06–170.95) | 9.29 (3.66–14.91) | 0.0012 |
Q3 | 163.00 (159.01–166.98) | 4.78 (−1.19–10.75) | 0.1169 |
Q4† | 330.45 (322.26–338.64) | 11.94 (−0.52–24.40) | 0.0604 |
† 注:该 Q4 行来自你给的 “Q4–Q1” 对比块(对应的 Q1 为 318.51〔309.12–327.91〕),数值约 330 天,更符合 365-day RMST。若你有 180-day 的 Q4 数据,也可以发我,我会按同样格式替换。
这是90和180的RMST,帮我补充进去各自的表格生成Q4的RMST结果,:“Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Arm 1 RMST 82.7622564935065 0.92279636955382 80.9536088441167 84.5709041428963
HGI_cat Arm 1 RMTL 7.2377435064935 0.92279636955382 5.4290958571037 9.0463911558833
HGI_cat Arm 0 RMST 80.0620684039088 1.05942851646881 77.9856266674352 82.1385101403824
HGI_cat Arm 0 RMTL 9.9379315960912 1.05942851646881 7.86148985961764 12.0143733325648
Strata Arm Rowname Estimate SE Lower_95 Upper_95
HGI_cat Arm 1 RMST 164.149366883117 1.97266042156311 160.283023503126 168.015710263108
HGI_cat Arm 1 RMTL 15.8506331168831 1.97266042156311 11.9842897368918 19.7169764968744
HGI_cat Arm 0 RMST 158.218583061889 2.27009517380477 153.769278279754 162.667887844025
HGI_cat Arm 0 RMTL 21.7814169381108 2.27009517380477 17.3321121559752 26.2307217202463”
pythonimport math # 90-day rmst_q4_90 = 82.7622564935065 se_q4_90 = 0.92279636955382 rmst_q1_90 = 80.0620684039088 se_q1_90 = 1.05942851646881 diff_90 = rmst_q4_90 - rmst_q1_90 se_diff_90 = math.sqrt(se_q4_90**2 + se_q1_90**2) ci_low_90 = diff_90 - 1.96 * se_diff_90 ci_high_90 = diff_90 + 1.96 * se_diff_90 z_90 = diff_90 / se_diff_90 # two-sided p-value import mpmath as mp p_90 = 2 * (1 - 0.5*(1+math.erf(abs(z_90)/math.sqrt(2)))) diff_90, se_diff_90, ci_low_90, ci_high_90, z_90, p_90 (2.7001880895977024, 1.404970434268641, -0.053553961568834296, 5.453930140764239, 1.9218824992593444, 0.05462054439395114)
python# 180-day rmst_q4_180 = 164.149366883117 se_q4_180 = 1.97266042156311 rmst_q1_180 = 158.218583061889 se_q1_180 = 2.27009517380477 diff_180 = rmst_q4_180 - rmst_q1_180 se_diff_180 = math.sqrt(se_q4_180**2 + se_q1_180**2) ci_low_180 = diff_180 - 1.96 * se_diff_180 ci_high_180 = diff_180 + 1.96 * se_diff_180 z_180 = diff_180 / se_diff_180 p_180 = 2 * (1 - 0.5*(1+math.erf(abs(z_180)/math.sqrt(2)))) diff_180, se_diff_180, ci_low_180, ci_high_180, z_180, p_180 (5.930783821228005, 3.0074443032138194, 0.03619298692891881, 11.82537465552709, 1.9720344662377427, 0.048605672100823005)
好的!我把你新给的 Arm 1(Q4) vs Arm 0(Q1) 的 RMST 数据补进之前的两张表里了(RMST 与 CI 保留两位小数;Δ 为相对 Q1 的差异;Q4 的 Δ 与 P 值用各自 SE 做了独立组近似计算)。
Table 2. 30-day and 365-day RMST by HGI quartiles in AF
HGI quartile | RMST, days (95% CI) | ΔRMST, days (95% CI) | P value |
---|---|---|---|
90-day RMST | |||
Q1 (reference) | 80.06 (77.99–82.14) | — | — |
Q2 | 84.39 (82.82–85.96) | 4.33 (1.73–6.93) | 0.0011 |
Q3 | 82.33 (80.48–84.18) | 2.27 (−0.51–5.05) | 0.1094 |
Q4 | 82.76 (80.95–84.57) | 2.70 (−0.05–5.45) | 0.055† |
HGI quartile | RMST, days (95% CI) | ΔRMST, days (95% CI) | P value |
---|---|---|---|
180-day RMST | |||
Q1 (reference) | 158.22 (153.77–162.67) | — | — |
Q2 | 167.50 (164.06–170.95) | 9.29 (3.66–14.91) | 0.0012 |
Q3 | 163.00 (159.01–166.98) | 4.78 (−1.19–10.75) | 0.1169 |
Q4 | 164.15 (160.28–168.02) | 5.93 (0.04–11.83) | 0.049† |
† 说明:Q4 的 Δ 与 P 值根据你提供的 Q4、Q1 的点估计与各自 SE 按独立组近似计算得到(SE_diff = √(SE₁²+SE₀²),95%CI = Δ ± 1.96×SE_diff,双侧检验)。若你有模型直接输出的对比结果(contrast/p 值),请以模型结果为准。
“30day 1 2 3
2 0.00087781878286857
3 0.0917226504871621 0.0974663741061322
4 0.0861370315989156 0.10283845190735 0.976802157397285
90day 1 2 3
2 0.00162747481814335
3 0.127669574738467 0.101375961471679
4 0.0453760298597791 0.248089133343918 0.626657517177217
180day 1 2 3
2 0.000939909411332323
3 0.110889080236964 0.0841486965235714
4 0.0476853918433637 0.18052318329027 0.694693203378678
365day 1 2 3
2 0.00109578775294324
3 0.109644789660102 0.0956038822590753
4 0.084004514430954 0.122826579924016 0.89527449544769
LOG RANK P valve
30day 0.011
90day 0.015
180day 0.0098
365day 0.015
”这是我的KM生存曲线数据结果,Q1Q2Q3Q4,请你帮我把这些整理成一个表格,要求表格是英文的、而且符合SCI论文的书写要求规范
pythonpvals = { "30": { "overall": 0.011, "2v1": 0.00087781878286857, "3v1": 0.0917226504871621, "4v1": 0.0861370315989156, "3v2": 0.0974663741061322, "4v2": 0.10283845190735, "4v3": 0.976802157397285 }, "90": { "overall": 0.015, "2v1": 0.00162747481814335, "3v1": 0.127669574738467, "4v1": 0.0453760298597791, "3v2": 0.101375961471679, "4v2": 0.248089133343918, "4v3": 0.626657517177217 }, "180": { "overall": 0.0098, "2v1": 0.000939909411332323, "3v1": 0.110889080236964, "4v1": 0.0476853918433637, "3v2": 0.0841486965235714, "4v2": 0.18052318329027, "4v3": 0.694693203378678 }, "365": { "overall": 0.015, "2v1": 0.00109578775294324, "3v1": 0.109644789660102, "4v1": 0.084004514430954, "3v2": 0.0956038822590753, "4v2": 0.122826579924016, "4v3": 0.89527449544769 } } def format_p(p): if p<0.001: return "<0.001" return f"{p:.3f}" for t, d in pvals.items(): print(t, {k:format_p(v) for k,v in d.items()})
pythondef maybe_bold(p): if p=="<0.001": return "**<0.001**" try: val=float(p) return f"**{p}**" if val<0.05 else p except: return p rows=[] for t in ["30","90","180","365"]: d={k:format_p(v) for k,v in pvals[t].items()} row=[t+"‑day", maybe_bold(d["overall"]), maybe_bold(d["2v1"]), maybe_bold(d["3v1"]), maybe_bold(d["4v1"]), maybe_bold(d["3v2"]), maybe_bold(d["4v2"]), maybe_bold(d["4v3"])] rows.append(row) rows [['30‑day', '**0.011**', '**<0.001**', '0.092', '0.086', '0.097', '0.103', '0.977'], ['90‑day', '**0.015**', '**0.002**', '0.128', '**0.045**', '0.101', '0.248', '0.627'], ['180‑day', '**0.010**', '**<0.001**', '0.111', '**0.048**', '0.084', '0.181', '0.695'], ['365‑day', '**0.015**', '**0.001**', '0.110', '0.084', '0.096', '0.123', '0.895']]
Here’s an SCI-style table summarizing your Kaplan–Meier pairwise comparisons (Q1–Q4) and the overall log-rank tests at 30, 90, 180, and 365 days.
Table X. Pairwise and overall log-rank P-values for KM survival by HGI quartiles
Time horizon | Overall log-rank P | Q2 vs Q1 | Q3 vs Q1 | Q4 vs Q1 | Q3 vs Q2 | Q4 vs Q2 | Q4 vs Q3 |
---|---|---|---|---|---|---|---|
30-day | 0.011 | <0.001 | 0.092 | 0.086 | 0.097 | 0.103 | 0.977 |
90-day | 0.015 | 0.002 | 0.128 | 0.045 | 0.101 | 0.248 | 0.627 |
180-day | 0.010 | <0.001 | 0.111 | 0.048 | 0.084 | 0.181 | 0.695 |
365-day | 0.015 | 0.001 | 0.110 | 0.084 | 0.096 | 0.123 | 0.895 |
Notes:
这个表格奇怪吗?1
pythonimport numpy as np, pandas as pd, math # Input p-values per horizon pvals = { "30": { "Q2vsQ1":0.00087781878286857, "Q3vsQ1":0.0917226504871621, "Q4vsQ1":0.0861370315989156, "Q3vsQ2":0.0974663741061322, "Q4vsQ2":0.10283845190735, "Q4vsQ3":0.976802157397285 }, "90": { "Q2vsQ1":0.00162747481814335, "Q3vsQ1":0.127669574738467, "Q4vsQ1":0.0453760298597791, "Q3vsQ2":0.101375961471679, "Q4vsQ2":0.248089133343918, "Q4vsQ3":0.626657517177217 }, "180": { "Q2vsQ1":0.000939909411332323, "Q3vsQ1":0.110889080236964, "Q4vsQ1":0.0476853918433637, "Q3vsQ2":0.0841486965235714, "Q4vsQ2":0.18052318329027, "Q4vsQ3":0.694693203378678 }, "365": { "Q2vsQ1":0.00109578775294324, "Q3vsQ1":0.109644789660102, "Q4vsQ1":0.084004514430954, "Q3vsQ2":0.0956038822590753, "Q4vsQ2":0.122826579924016, "Q4vsQ3":0.89527449544769 } } def bonferroni(pvals): return {k:min(v*6,1.0) for k,v in pvals.items()} def holm(pvals): # Holm-Bonferroni method items = sorted(pvals.items(), key=lambda x:x[1]) m = len(items) adj = {} for i,(k,p) in enumerate(items): adj_p = (m - i) * p # ensure monotonicity if i==0: prev = adj_p else: prev = max(prev, adj_p) adj[k] = prev # reorder to original return {k:adj[k] for k in pvals} def bh_fdr(pvals): # Benjamini-Hochberg items = sorted(pvals.items(), key=lambda x:x[1]) m = len(items) adj = {} prev = 0 for i,(k,p) in enumerate(items): adj_p = p * m / (i+1) # enforce monotonicity from largest to smallest later adj[k] = adj_p # ensure monotonic non-decreasing; compute of BH requires sorting descending # We'll recompute properly sorted_items = sorted(pvals.items(), key=lambda x:x[1], reverse=True) min_val = 1.0 bh_adj = {} for i,(k,p) in enumerate(sorted_items): rank = m - i val = min(min_val, p * m / rank) min_val = val bh_adj[k] = val # Convert to original order return {k:bh_adj[k] for k in pvals} for horizon in pvals: b = bonferroni(pvals[horizon]) h = holm(pvals[horizon]) bh = bh_fdr(pvals[horizon]) print(horizon, "bonf", b, "\nholm", h, "\nbh", bh, "\n---")
pythondef holm_bonferroni(pdict): # returns adjusted p-values preserving keys m = len(pdict) items = sorted(pdict.items(), key=lambda x:x[1]) adj_vals = {} # Holm: step-down max_so_far = 0 for i,(k,p) in enumerate(items): adj_p = (m - i) * p if adj_p < max_so_far: adj_p = max_so_far max_so_far = adj_p adj_vals[k] = adj_p return {k:adj_vals[k] for k in pdict} def bh_fdr_adj(pdict): m = len(pdict) # sort ascending items = sorted(pdict.items(), key=lambda x:x[1]) # compute BH adj = {} prev = 1.0 for i,(k,p) in enumerate(reversed(items),1): rank = m - (i-1) val = min(prev, p * m / rank) adj[k] = val prev = val # map back return {k:adj[k] for k in pdict} def summarise(pvals): res=[] for horizon in ["30","90","180","365"]: pv = pvals[horizon] bonf = {k:min(v*6,1.0) for k,v in pv.items()} holm = holm_bonferroni(pv) bh = bh_fdr_adj(pv) res.append((horizon,pv,bonf,holm,bh)) return res sumres=summarise(pvals) sumres[:1] [('30', {'Q2vsQ1': 0.00087781878286857, 'Q3vsQ1': 0.0917226504871621, 'Q4vsQ1': 0.0861370315989156, 'Q3vsQ2': 0.0974663741061322, 'Q4vsQ2': 0.10283845190735, 'Q4vsQ3': 0.976802157397285}, {'Q2vsQ1': 0.00526691269721142, 'Q3vsQ1': 0.5503359029229726, 'Q4vsQ1': 0.5168221895934936, 'Q3vsQ2': 0.5847982446367932, 'Q4vsQ2': 0.6170307114441, 'Q4vsQ3': 1.0}, {'Q2vsQ1': 0.00526691269721142, 'Q3vsQ1': 0.430685157994578, 'Q4vsQ1': 0.430685157994578, 'Q3vsQ2': 0.430685157994578, 'Q4vsQ2': 0.430685157994578, 'Q4vsQ3': 0.976802157397285}, {'Q2vsQ1': 0.00526691269721142, 'Q3vsQ1': 0.12340614228882, 'Q4vsQ1': 0.12340614228882, 'Q3vsQ2': 0.12340614228882, 'Q4vsQ2': 0.12340614228882, 'Q4vsQ3': 0.976802157397285})]
pythondef round3(x): return round(x+0.00000000001,3) for horizon in pvals: holm=holm_bonferroni(pvals[horizon]) row={k:round3(v) for k,v in holm.items()} print(horizon,row)
不奇怪—结构和内容都挺标准的;放进论文也OK。
但我有几条小建议,能让它更“SCI范”也更容易解读:
明确多重比较:你现在的配对 P 值是未校正的。多数期刊会要求给出一种校正(Holm/Bonferroni/FDR)或在脚注里说明未校正。
• 用 Holm 校正后,每个时间点只有 Q2 vs Q1 仍显著:
30d adj-P=0.005;90d adj-P=0.010;180d adj-P=0.006;365d adj-P=0.007;其余比较均 ≥0.227。
→ 这能避免把 90/180 天里 “Q4 vs Q1” 的边缘显著误读为稳健发现。
一致的四舍五入与展示:整体保留三位小数,<0.001 用 “<0.001”;180-day 总体检验 0.0098 建议写成 0.010(与你表里一致)。
脚注更完整:注明
• “KM=Kaplan–Meier;P values from log-rank tests; pairwise P values (un)adjusted by …;bold indicates P<0.05(如用校正后的阈值则写明)”。
• 说明 quartile 的方向(Q1=最低 HGI, Q4=最高 HGI),并可加各组样本量 。
结果解读提示:配对比较显示主要差异集中在 Q2 vs Q1,而 Q3/Q4 与 Q1 或 Q2 多数不显著,呈现非单调(可能是阈值或 U 形关系),这不是“奇怪”,而是数据特征——建议在正文里点明这一点,避免读者期待“剂量-反应”式单调趋势。
如果你愿意,我可以把表格再出一版同时列未校正与Holm校正的 P 值,并附上规范脚注。
我觉得排版不是很舒服
可以!我把它排成更“舒服”的两部分:先给总体 log-rank,再给每个时间点的成对比较上三角矩阵。全部英文、三位小数,P<0.001 显示为 “<0.001”,显著(P<0.05)用粗体。
Time horizon | Overall log-rank P |
---|---|
30-day | 0.011 |
90-day | 0.015 |
180-day | 0.010 |
365-day | 0.015 |
Q1 | Q2 | Q3 | Q4 | |
---|---|---|---|---|
Q1 | — | <0.001 | 0.092 | 0.086 |
Q2 | — | 0.097 | 0.103 | |
Q3 | — | 0.977 | ||
Q4 | — |
Q1 | Q2 | Q3 | Q4 | |
---|---|---|---|---|
Q1 | — | 0.002 | 0.128 | 0.045 |
Q2 | — | 0.101 | 0.248 | |
Q3 | — | 0.627 | ||
Q4 | — |
Q1 | Q2 | Q3 | Q4 | |
---|---|---|---|---|
Q1 | — | <0.001 | 0.111 | 0.048 |
Q2 | — | 0.084 | 0.181 | |
Q3 | — | 0.695 | ||
Q4 | — |
Q1 | Q2 | Q3 | Q4 | |
---|---|---|---|---|
Q1 | — | 0.001 | 0.110 | 0.084 |
Q2 | — | 0.096 | 0.123 | |
Q3 | — | 0.895 | ||
Q4 | — |
Notes: KM, Kaplan–Meier. P values from log-rank tests. Pairwise P values are unadjusted for multiplicity; bold indicates P<0.05. Quartiles are ordered Q1 (lowest HGI) to Q4 (highest HGI).
如果你希望,我可以再给一版把多重比较校正后的 P 值(例如 Holm)并列在同一张表里。
给我这个KM曲线的值加上表注,你需要我的原文描述吗?
可以。我先给你一版英文、符合论文习惯、带**表注(footnotes)**的排版;不需要你的原文描述也能用。如果你有特定措辞,发我后我再对齐你文章的术语与风格。
Time horizon | Overall log-rank P |
---|---|
30-day | 0.011 |
90-day | 0.015 |
180-day | 0.010 |
365-day | 0.015 |
Q1 | Q2 | Q3 | Q4 | |
---|---|---|---|---|
Q1 | — | <0.001 | 0.092 | 0.086 |
Q2 | — | 0.097 | 0.103 | |
Q3 | — | 0.977 | ||
Q4 | — |
Q1 | Q2 | Q3 | Q4 | |
---|---|---|---|---|
Q1 | — | 0.002 | 0.128 | 0.045 |
Q2 | — | 0.101 | 0.248 | |
Q3 | — | 0.627 | ||
Q4 | — |
Q1 | Q2 | Q3 | Q4 | |
---|---|---|---|---|
Q1 | — | <0.001 | 0.111 | 0.048 |
Q2 | — | 0.084 | 0.181 | |
Q3 | — | 0.695 | ||
Q4 | — |
Q1 | Q2 | Q3 | Q4 | |
---|---|---|---|---|
Q1 | — | 0.001 | 0.110 | 0.084 |
Q2 | — | 0.096 | 0.123 | |
Q3 | — | 0.895 | ||
Q4 | — |
Footnotes (table notes)
需要我把表注里的术语换成你论文里的原话(比如对结局事件、删失规则、数据来源的精确定义),把原文发我,我直接替换到脚注里即可。
不用再给我输出表格了,表注的风格和这个统一一下:'90-day and 365-day restricted mean survival time (RMST) with 95% CI are reported. ΔRMST denotes the difference from Q1 (reference). P values are from pairwise comparisons with Q1. AF, atrial fibrillation; HGI, hemoglobin glycation index; RMST, restricted mean survival time; CI, confidence interval."
不用表格,这里是一段与你 RMST 表注同风格的 KM 表注(可直接贴到论文里):
“Pairwise and overall log-rank P values from Kaplan–Meier analyses at 30, 90, 180, and 365 days are reported. Pairwise P values denote comparisons with Q1 (reference) and are two-sided, unadjusted for multiplicity; values <0.001 are shown as ‘<0.001’. AF, atrial fibrillation; HGI, hemoglobin glycation index; KM, Kaplan–Meier.”