下面列出了每项检验所使用的具体软件包、函数和方法。为确保透明性,所有计算均由 R(版本 4.5.1)执行。
目录
- R 软件包列表
- 统计假设检验
- 单样本 t 检验(及非参数检验)
- 双样本 t 检验(及非参数检验)
- 单因素 ANOVA(及非参数检验)和多重比较检验
- 双因素 ANOVA 和多重比较检验
- 相关性
- 逻辑 regression
- Dose-response 曲线
- Survival analysis
所有 R 软件包
- R 版本 4.5.1
- afex 版本 1.3-1
- dplyr 版本 1.2.1
- effsize 版本 0.8.1
- emmeans 版本 1.10.1
- httr2 版本 1.0.0
- jsonlite 版本 1.8.4
- lme4 版本 1.1-37
- logger 版本 0.2.2
- multcomp 版本 1.4-20
- nlraa 版本 1.9.3
- OptimModel 版本 2.0-3
- PMCMRplus 版本 1.9.6
- readr 版本 2.1.5
- rjson 版本 0.2.21
- rstatix 版本 0.7.1
- survival 版本 3.8-3
- tictoc 版本 1.1
- tidyr 版本 1.3.0
- uuid 版本 1.2-0
统计假设检验
我们的平台会自动运行检验,以验证每种分析类型所必需的假设。我们会根据这些结果建议预先选定的分析选项。在应用中将鼠标悬停在“suggested”标签上,即可查看这些建议的详细信息。
Shapiro-Wilk 正态性检验
参数 t 检验和 ANOVA 的基本假设是,您的数据集服从正态分布(符合标准钟形曲线)。
我们会在后台运行 Shapiro-Wilk 正态性检验,以检查您的数据集是否违反这一假设。
如果 Shapiro-Wilk 检验(p > 0.05)无法拒绝正态性假设,我们建议使用参数检验(例如 t 检验)。
如果 Shapiro-Wilk 检验(p ≤ 0.05)表明数据不服从正态分布,我们会在内部对数据进行对数转换并再次检验。如果后续检验表明数据在对数空间中服从正态分布,我们建议对经过对数转换的数据使用参数检验(例如对数正态 t 检验)。
如果两次 Shapiro-Wilk 检验均拒绝正态性假设,我们建议使用非参数替代方法(例如 Mann-Whitney U 检验)。
此检验使用 rstatix 中的 shapiro_test 函数。
Levene 方差齐性检验
参数 t 检验和 ANOVA 的基本假设是,数据中不同组的观测值方差大致相同。
我们运行 Levene 方差齐性检验,以检查您的数据集是否违反这一假设。
如果方差不同,我们建议在 t-tests 或 ANOVA 中使用 Welch 校正,以适应不等方差。
此检验使用 rstatix 中的 levene_test 函数。
我们使用默认设置,即将中位数作为每组的中心,以进行更稳健的检验。
单样本 t 检验(及非参数检验)
单样本 t 检验用于确定单个样本的均值是否与已知值或假设值存在显著差异。该检验假设数据来自正态分布总体。
单样本 t 检验
我们使用自定义的基础 R 实现,直接按 (sample_mean − μ) / (SD / √n) 计算 t 统计量,并使用 pt 和 qt(来自 stats 软件包)分别计算 p 值和临界值。自由度为 n − 1。置信区间根据差值 (sample_mean − μ) 计算:双侧检验为 diff ± qt(1 − α/2, df) × SE;单侧检验的置信区间为 [diff − qt(conf_level, df) × SE, Inf] 或 [−Inf, diff + qt(conf_level, df) × SE]。Cohen's d 效应量报告为 (sample_mean − μ) / SD。
单样本比率 t 检验(对数正态)
当预期数据服从对数正态分布时,比率 t 检验用于检验几何均值是否不同于假设的正值。该检验会同时对数据和假设值进行对数转换,在对数尺度上执行相同的自定义 t 检验,然后对结果进行反变换。结果会在原始尺度上返回几何均值、几何标准差以及相对于理论值的比率,同时返回比率和几何均值的置信区间。
单样本 Wilcoxon 符号秩检验
这是单样本比较的非参数替代方法。我们使用 wilcox.test(来自 stats 软件包),并设置 exact = NULL,让基础 R 选择精确法或渐近法。当非零差值数量 n_nz < 50(严格小于 50)且不存在相同差值时,p_value_exact 标志设为 TRUE,这反映了 R 内部逻辑的预期行为。否则将使用带连续性校正的正态近似(correct = TRUE)。
Hodges–Lehmann 伪中位数作为位置估计值报告:它是在原始 values 向量上计算的所有成对 Walsh 平均值 (x_i + x_j) / 2(i ≤ j,包括自配对 i = j)的中位数,这是总体中位数的 H-L 估计量。同时返回 V 统计量(正符号秩之和)以及正秩和与负秩和。
双样本 t 检验(及非参数检验)
双样本检验用于比较两组之间的连续结果。BioRender 提供参数 t-tests(假设正态性)和不作分布假设的非参数替代方法,同时还提供适用于比率而非差值作为相关效应的数据的对数正态变体。
所有参数双样本检验均使用 t_test(来自 rstatix 软件包),所有非参数检验均使用同一软件包中的 wilcox_test。参数检验的效应量使用 cohen.d(来自 effsize 软件包)计算。请注意,rstatix 的 t_test 将差值计算为 level1 − level2(按字母顺序);BioRender 会将 t 统计量和置信区间取负,以报告 level2 − level1(与 GraphPad Prism 的惯例一致),并使用 pt 根据取负后的统计量重新计算单侧 p 值,以确保使用正确的尾部。
非配对双样本 t 检验(Student t 检验)
t_test(..., var.equal = TRUE)。假设方差相等;使用两组数据合并后的标准差。合并标准误为 pooled_SD × √(1/n₁ + 1/n₂)。Cohen's d 使用 cohen.d(y, x, paired = FALSE) 计算。
带 Welch 校正的非配对双样本 t 检验(又称 Welch t 检验)
t_test(..., var.equal = FALSE)。不假设方差相等;使用 Welch–Satterthwaite 自由度近似。标准误为 √(s₁²/n₁ + s₂²/n₂)。Cohen's d 使用 cohen.d(y, x, paired = paired)(来自 effsize)计算,其中 paired 为函数参数(默认值为 FALSE)。
Mann-Whitney U 检验(Wilcoxon 秩和检验)
wilcox_test(..., paired = FALSE)。这是两组独立样本的非参数比较。U₁ 和 U₂ 统计量根据秩和计算:U₁ = R₁ − n₁(n₁+1)/2,U₂ = R₂ − n₂(n₂+1)/2,其中 R₁ 和 R₂ 是各组的秩和。报告的 U 统计量为 min(U₁, U₂)。
配对 t 检验
t_test(..., paired = TRUE)。受试者在两种条件下相互匹配;检验基于配对内差值执行。配对设计的 Cohen's d 使用受试者内公式:|mean(x − y)| / √(SD₁² + SD₂² − 2r·SD₁·SD₂),其中 r 是两种条件之间的 Pearson 相关系数。同时返回 Pearson 相关系数及其 p 值。
Wilcoxon 配对符号秩检验
wilcox_test(..., paired = TRUE)。这是配对 t 检验的非参数等价方法。返回正符号秩和、负符号秩和以及符号秩总和 W。当配对数量小于 50 且不存在相同差值时,p_value_exact 标志设为 TRUE,这反映了 rstatix 内部逻辑的预期行为。同时返回两种条件之间的 Spearman 秩相关系数及其 p 值。
对数正态(比率)变体
当数据服从对数正态分布时,关注的是几何均值之比,而不是算术均值之差。对于非配对检验和 Welch 检验,所有值均进行自然对数转换,并在对数尺度上运行相应的 t_test。几何均值通过 exp(mean(log(values))) 反变换得到。按照 level2 − level1 的惯例,geometric_mean1 对应第二个字母顺序的组,geometric_mean2 对应第一个组;报告的比率为 geometric_mean1 / geometric_mean2。比率置信区间通过反转并交换对数尺度置信区间的上下界获得:conf_low_ratio = exp(−conf.high_log),conf_high_ratio = exp(−conf.low_log)。对于配对对数正态检验,Cohen's d 也在对数尺度上计算;此外还返回对数差值的均值、标准差和标准误,以及对数尺度数据的 Pearson 相关性。
单因素 ANOVA(及非参数检验)和多重比较检验
单因素 ANOVA 用于检验三个或更多组的均值是否存在显著差异。BioRender 支持独立测量、重复测量和混合效应变体,也支持非参数替代方法和对数正态 ANOVA。
经典单因素 ANOVA
通过 aov_car(来自 afex 软件包)实现。分析期间将对比设置为零和(contr.sum),退出时恢复原设置。平方和类型:仅对于单因素独立平衡设计(所有组的 n 相等且没有重复测量因素)使用 II 型平方和。其他所有情况均使用 III 型平方和,包括不平衡设计、重复测量以及所有多因素设计(无论是否平衡)。效应量报告为 afex ANOVA 表中的广义 eta 平方(ges)。
带 Welch 校正的单因素 ANOVA(又称 Welch 单因素 ANOVA)
使用 welch_anova_test(来自 rstatix)。这是一种不假设组间方差相等的 F 检验,使用 Welch–Satterthwaite 方法调整分母自由度。报告 W 统计量以及分子/分母自由度。
对数正态 ANOVA
对数值进行 log₁₀ 转换,并在转换后的数据上运行 classic_anova。F 统计量、p 值和自由度与对数底数无关;平方和和均方在 log₁₀ 尺度上报告,以匹配 GraphPad Prism。
Kruskal-Wallis 检验
使用 kruskal_test(来自 rstatix)。这是单因素 ANOVA 的非参数对应方法。报告 H 统计量和 p 值。
事后多重比较检验
在 ANOVA 显著后运行事后检验,以确定哪些组对之间存在差异。
- Tukey's 多重比较检验 使用 emmeans 的估计边际均值和经 Tukey 校正的成对对比(pairs(..., adjust = "tukey"))。返回每个成对比较的置信区间和 t 统计量。
- Bonferroni 多重比较检验 使用相同的 emmeans 框架,并调用 pairs(..., adjust = "bonferroni")。置信区间的临界 t 值为 qt(0.05 / (2 × k), df),其中 k 为比较次数。
- Dunnett's 检验(一个对照组与所有其他组比较)使用 glht(来自 multcomp),并调用 mcp(categories = "Dunnet")。拟合前会将对照组重新设置为参考位置;通过 confint(glht_result) 提取置信区间。
- Games–Howell 检验(方差不等时的事后检验)使用 games_howell_test(来自 rstatix)。rstatix 函数会在内部对合并标准误应用 √0.5 因子;BioRender 通过除以 √0.5(等价于乘以 √2)将其移除,以匹配传统公式。
- Dunnett's T3 检验(用于方差不等的情况)使用 dunnettT3Test(来自 PMCMRplus)。成对自由度使用应用于每个单独组对的 Welch–Satterthwaite 公式计算。临界值通过 qmvt 根据多元 t 分布得到。
- Dunn's 检验(非参数检验,继 Kruskal-Wallis 检验之后)使用 dunn_test(来自 rstatix),并对所有成对比较进行 Bonferroni p 值校正。指定对照组时,仅返回涉及对照组的比较,并且 Bonferroni 校正使用 Dunnett 家族大小(k − 1 个比较),而非 k(k−1)/2。
双因素 ANOVA 和多重比较检验
双因素 ANOVA 检验两个分类因素及其交互作用对连续结果的影响。BioRender 使用与单因素 ANOVA 相同的 classic_anova 函数,并扩展数据框以包含第二个因素列。
- 平方和:双因素 ANOVA 始终使用 III 型平方和(无论是否平衡),即在考虑所有其他效应后评估每个效应。按照 III 型平方和的要求,将对比设置为 contr.sum(零和)。
- 效应量:对每个主效应和交互作用项报告广义 eta 平方(ges)。
- 重复测量:通过相同的 aov_car / afex 基础设施支持双因素重复测量 ANOVA。对受试者内因素计算 Mauchly's 球形性检验。对于违反球形性的效应,可以应用 Greenhouse–Geisser 校正。
- 混合效应备用方法:当重复测量数据存在缺失观测值时,使用混合效应模型(通过 lme4::lmer),具体取决于 missing_value_handling 选项,可以始终使用,也可以仅在检测到缺失值时使用。
双因素 ANOVA 的事后检验使用与单因素 ANOVA 相同的函数(Tukey、Bonferroni、Dunnett、Dunnett T3、Games–Howell),但通过 emmeans 对交互作用单元格均值进行操作。在返回结果前,会从对比标签中删除 emmeans 添加到数值型因素水平前的因素水平前缀,并将 afex 添加到受试者内因素列名的前缀(例如 Xfactor1)更正为原始名称。
相关性
相关性分析量化两个连续变量之间的线性(Pearson)或单调(Spearman)关联,并检验该关联是否不同于零。
我们使用 cor.test(来自 stats 软件包)。缺失值通过成对删除处理。至少需要四个完整观测值。
Pearson 相关
cor.test(x, y, method = "pearson") 返回 Pearson 相关系数 r、基于 n − 2 个自由度的 t 统计量、双侧 p 值以及精确的 95% 置信区间(通过 Fisher z 转换;R 在内部应用该转换)。
Spearman 相关
cor.test(x, y, method = "spearman") 返回 Spearman 秩相关系数 ρ(rho)。当不存在相同值且 n ≤ 50(exact = TRUE)时,使用精确置换分布;否则使用渐近正态近似。由于 R 的 cor.test 不会返回 Spearman 相关的置信区间,因此通过 Fisher z 转换近似计算 95% 置信区间:z = 0.5 × ln((1 + ρ) / (1 − ρ)),SE = 1 / √(n − 3),然后将区间边界反变换回相关尺度。
可视化
无论选择 Pearson 还是 Spearman 相关,散点图中显示的预测线和 95% 置信带均来自对数据拟合的简单线性 regression(lm),在观测到的 x 范围内取 100 个等距点,并通过 predict(model, interval = "confidence", level = 0.95) 计算。
简单线性 regression
简单线性 regression 将单个连续预测变量与连续结果之间的关系建模为直线。
我们使用 lm(来自 stats 软件包):lm(dependent ~ independent)。也可以通过 lm(dependent ~ 0 + independent) 将 y 截距限制为零。
斜率和截距系数、其标准误、t 统计量和 p 值均直接取自 summary(model)$coefficients。每个系数的 95% 置信区间为 estimate ± qt(0.975, df.residual(model)) × SE。x 截距计算为 −β₀ / β₁。
估计标准误(Sy.x)在非约束模型中为 √(SS_residuals / (n − 2));当截距强制经过零点时为 √(SS_residuals / (n − 1)),以匹配 GraphPad Prism 的惯例。
总体模型显著性通过 F 检验评估:使用 summary(model)$fstatistic 中的 F 统计量调用 pf(F, df1, df2, lower.tail = FALSE)。
通过 predict(model, interval = "confidence"),在覆盖观测预测变量范围的 250 个等距点上返回带 95% 置信带的拟合曲线。
逻辑 regression
逻辑 regression 将二元结果的对数优势建模为一个或多个预测变量的线性函数。BioRender 提供三种变体:简单逻辑回归(一个预测变量)、多元逻辑回归(多个预测变量)和用于小样本或不平衡样本的 Firth 惩罚逻辑 regression。
所有逻辑 regression 模型均使用 glm(来自 stats 软件包),设置 family = binomial(link = "logit") 和 maxit = 100(默认值 25 在接近完全分离的数据上可能会悄然返回未收敛的迭代结果)。拟合前,服务会检查准完全分离(拟合概率在数值上为 0 或 1),并根据分离检测、每个变量的事件数较低(EPV)或罕见事件率,评估是否建议使用 Firth 惩罚。
简单逻辑 regression
拟合单个连续或二元预测变量:glm(dependent ~ independent, family = binomial(link = "logit"))。
系数的置信区间在对数优势尺度上通过 confint 使用剖面似然计算;如果剖面似然失败,则自动回退到 Wald 置信区间。优势比及其 95% 置信区间通过对系数估计值和置信区间边界取指数得到。
报告预测概率为 50% 时的 X 值(即对数优势为零,X = −β₀/β₁),其 95% 置信区间通过 delta 方法得到。
模型拟合度通过与零模型(仅含截距的模型)进行似然比检验评估。报告的拟合优度统计量包括 Tjur 的 R²、Cox–Snell R²、ROC 曲线的 AUC(通过基于秩的向量化算法计算)以及 AICc。返回预测概率和观测预测变量范围内(250 个网格点)的置信带以用于绘图;置信带使用 logit 尺度上的 Wald 置信区间,并通过 plogis 反变换。
Firth 惩罚逻辑 regression
当检测到完全分离或准完全分离,或者 EPV 较低(每个预测变量少于约 10 个事件)时,标准最大似然估计会趋于无穷或存在严重偏差。在这些情况下,BioRender 会拟合 Firth 的惩罚似然模型(Firth 1993;Heinze & Schemper 2002),该模型在对数似然中加入 Jeffreys 先验惩罚,以产生有限且偏差较小的估计值。
Firth 模型使用自定义的 IRLS 实现进行拟合。收敛情况根据三个标准共同评估:max|Δβ| < 1e-8(L∞ 参数变化)、max|U*(β)| < 1e-5(修正得分向量的最大绝对值,即 L∞ 得分范数)以及 |ΔL*| < 1e-5(惩罚对数似然变化)。
置信区间通过自定义 firth_profile_ci() 函数,使用剖面惩罚似然计算。对于每个参数,在每个候选 β 值处通过约束 IRLS 重新优化其余参数。使用倍增步长扩展区间(从 max(SE×3, 1.5) 开始,在对数优势尺度上倍增,硬上限为 50)定位符号变化区间,然后使用 uniroot()(Brent 方法)寻找根。如果找不到区间,则将边界报告为 NA,并将 ci_fallback_used = TRUE。
拟合优度统计量包括 Tjur 的 R²、Cox–Snell R²、McFadden 的 R²、惩罚偏差(-2 × L*)、零模型惩罚偏差以及 AICc(根据未惩罚的对数似然计算)。
Dose-response 曲线
Dose-response 曲线对刺激(浓度、剂量)与反应(抑制、刺激)之间的 S 形关系建模。BioRender 默认拟合四参数逻辑(4PL)模型;三参数和五参数变体是其特殊情况。
四参数模型(4PL)
四参数逻辑方程为:
- 抑制(log x): y = bottom + (top − bottom) / (1 + 10^((log_IC50 − x) × hill_slope))
- 抑制(线性 x): y = bottom + (top − bottom) / (1 + (IC50 / x)^hill_slope)
- 刺激(线性 x): y = bottom + (top − bottom) × x^hill_slope / (x^hill_slope + EC50^hill_slope)
四个自由参数为:bottom(最小反应)、top(最大反应)、hill_slope(Hill 系数)以及 EC50/IC50(bottom 与 top 中点处的浓度)。
三参数模型(3PL)
该模型等价于 Hill 斜率受到约束的 4PL:抑制时 hill_slope = −1,刺激时 hill_slope = +1。其他参数保持自由。
五参数逻辑模型(5PL)
通过添加不对称因子 S 扩展 4PL:
- Log x: y = bottom + (top − bottom) / (1 + 10^((log_EC50 − x) × hill_slope))^S
- 线性 x(抑制): y = bottom + (top − bottom) / (1 + (EC50/x)^hill_slope)^S
当 S = 1 时,5PL 化为 4PL。S 初始化为 1,并自由估计。注意:5PL 公式中的参数 log_EC50 是曲线的拐点。当 S ≠ 1 时,实际 EC50 不同,并通过以下校正计算:log_EC50_actual = log_inflection − log10(2^(1/S) − 1) / hill_slope。
拟合过程
所有模型均使用 nls(来自 stats 软件包)拟合。初始值根据数据确定:bottom 和 top 初始化为观测到的组均值最小值和最大值;EC50/IC50 通过线性插值到 y 中点进行初始化;hill_slope 根据数据方向初始化为 ±1。
首先尝试 PORT(nl2sol)算法(algorithm = "port"),因为它支持边界约束,并可避免默认 Gauss-Newton 算法在 EC50 剖面轴上遇到的“minFactor”失败。如果 PORT 失败且没有启用用户提供的边界,则尝试调用不带显式算法的备用 nls()(默认为 Gauss-Newton)。用户指定的参数约束会作为 lower / upper 向量传递给 nls;此外,Hill 斜率限制在 ±50 以内以防止发散,并固定其符号以匹配数据方向。
拟合参数的置信区间通过 confint(fit) 使用剖面似然计算。如果剖面计算失败(例如梯度奇异),则使用 Wald 近似:estimate ± qt(0.975, df_residual) × SE。EC50/IC50 及其置信区间同时在 log₁₀ 尺度和原始浓度尺度上报告。
还可以计算自定义浓度(用户指定反应百分比下的 EC_x 或 IC_x)。对于抑制,EC_x = EC50 × ((1/fraction − 1))^(1/hill_slope);对于刺激,EC_x = EC50 × (fraction / (1 − fraction))^(1/hill_slope)。自定义浓度的 95% 置信区间通过传播 EC50 置信区间的相对误差进行近似。
报告的拟合优度统计量包括 R²(1 − SS_res / SS_tot)、残差平方和、Sy.x(残差标准误)和自由度。在线性和对数间隔浓度网格(每个 250 个点)上,通过数值 delta 方法计算置信带:对模型公式关于每个参数进行数值微分以构建雅可比矩阵 J,然后计算 SE(ŷ) = √(J' × vcov(fit) × J),置信带为 ŷ ± t_{0.975, df} × SE(ŷ)。如果 delta 方法失败,则置信带仅回退为点估计。
Survival analysis
Survival analysis 对发生目标事件(例如死亡、复发)之前的时间进行建模,同时考虑删失观测值,即随访结束时尚未发生该事件的受试者。
所有生存分析均使用 survival 软件包中的函数。
Kaplan–Meier 曲线
Kaplan–Meier 生存曲线使用 survfit 估计,并设置 conf.type = "log-log"(生存函数的互补 log-log 转换)。这是 GraphPad Prism 使用的方法,相比默认的普通 log 方法,更适合生存概率接近 0 或 1 的情况。Groups 按其在数据中首次出现的顺序进行因子化,以确保曲线顺序与输入一致。
中位生存时间及其 95% 置信区间通过 quantile(km_fit, probs = 0.5) 提取。曲线会延伸到每组观测到的最大时间(即使该时间点仅包含删失观测),以避免绘制的阶梯函数过早截断。
Log-rank 检验
Log-rank 检验在比例风险的零假设下比较各组的生存分布。我们使用 rho = 0 的 survdiff。卡方统计量基于(组数 − 1)个自由度进行评估。
Gehan–Breslow–Wilcoxon 检验
这是 log-rank 检验的替代方法,对早期时间点赋予更大权重。该检验作为自定义加权卡方统计量实现(不通过 survdiff)。在每个事件时间 t,应用权重 w_t = N_t(风险集中的人数)。得分向量为 Z_j = Σ_t N_t (d_jt − e_jt),方差-协方差矩阵使用超几何方差,并应用 N_t² 项。检验统计量 χ² = Z' V⁻¹ Z 基于 K−1 个自由度评估(使用 Cholesky 分解;失败时使用 QR 广义逆作为备用)。
风险比
提供两种用于成对组比较的风险比估计方法。
Logrank 方法:使用观测值与期望值之比 HR = (O₁/E₁) / (O₂/E₂),其中 O 和 E 来自 log-rank survdiff 输出。ln(HR) 的标准误为 √(1/E₁ + 1/E₂),因此 95% 置信区间为 exp(ln(HR) ± 1.96 × SE)。这与 GraphPad Prism 的“logrank”风险比一致。
Mantel–Haenszel 方法:使用公式 L = (O₁ − E₁) / V,HR = exp(L),95% 置信区间为 exp(L ± 1.96 / √V),其中 V 是零假设下 (O₁ − E₁) 的方差,取自成对 log-rank 检验的 survdiff$var[1,1]。这与 GraphPad Prism 的“Mantel–Haenszel”风险比一致(Machin、Cheung & Parmar;Vaeth)。
Cox 比例风险 regression
Cox PH regression 使用 coxph 拟合。在自动检测模式下,会自动选择结 ties 处理方法:不存在相同事件时间时使用“exact”,存在相同事件时间时使用“efron”;也可以显式指定 ties 方法。风险比的置信区间通过自定义剖面似然函数(compute_profile_ci_cox())计算。该函数追踪剖面似然曲面以寻找置信区间边界,而不是依赖 Wald 近似。
比例风险假设通过 cox.zph 检验。该函数将缩放的 Schoenfeld 残差对时间进行拟合,并报告总体及每个协变量的 p 值;较小的 p 值表明风险比随时间变化,违反 PH 假设。
多重比较校正
比较三个或更多组并选择校正方法时,会对成对检验的 p 值进行多重比较校正。可用方法包括通过 p.adjust 应用的 Bonferroni 和 Benjamini–Hochberg(错误发现率),以及通过自定义逐步过程实现的 Holm–Šídák。
需要帮助? 请通过 support@biorender.com 联系我们的支持团队,或点击右下角的 "Chat With Us" 气泡发起在线聊天。