7个版本

0.1.6 2024年6月28日
0.1.5 2024年2月6日
0.1.4 2022年8月23日

#120 in 科学

Download history 2/week @ 2024-04-27 6/week @ 2024-05-04 1/week @ 2024-05-11 6/week @ 2024-05-18 8/week @ 2024-05-25 9/week @ 2024-06-01 28/week @ 2024-06-08 5/week @ 2024-06-15 156/week @ 2024-06-22 122/week @ 2024-06-29 15/week @ 2024-07-06 22/week @ 2024-07-13 3/week @ 2024-07-20 30/week @ 2024-07-27 45/week @ 2024-08-03 50/week @ 2024-08-10

每月129次下载
用于 3 crate

MIT许可证

18KB
326

adjustp

摘要

这是一个用于进行多重假设检验的p值调整的crate,灵感来自R函数 p.adjust

目前只有三种方法可用:Bonferroni、Benjamini-Hochberg和Benjamini-Yekutieli。

该crate为这些多重假设修正提供了一个单一接口,并且不要求在计算之前对p值进行预排序。

使用方法

测试的主要接口是通过 adjust 函数,它接受一个 f64 的切片和一个 Procedure。如果你使用 ndarray,你可以使用 .as_slice() 函数轻松地使用它。

基本使用

以下是一个 Bonferroni 修正的示例。

use adjustp::{adjust, Procedure};

let pvalues = vec![0.1, 0.2, 0.3, 0.4, 0.1];
let qvalues = adjust(&pvalues, Procedure::Bonferroni);
assert_eq!(qvalues, vec![0.5, 1.0, 1.0, 1.0, 0.5]);

以下是一个 BenjaminiHochberg 调整的示例。

use adjustp::{adjust, Procedure};

let pvalues = vec![0.1, 0.2, 0.3, 0.4, 0.1];
let qvalues = adjust(&pvalues, Procedure::BenjaminiHochberg);
assert_eq!(qvalues, vec![0.25, 0.33333333333333337, 0.375, 0.4, 0.25]);

以下是一个 BenjaminiYekutieli 调整的示例。

use adjustp::{adjust, Procedure};

let pvalues = vec![0.1, 0.2, 0.3, 0.4, 0.1];
let qvalues = adjust(&pvalues, Procedure::BenjaminiYekutieli);
assert_eq!(qvalues, vec![0.5708333333333333, 0.7611111111111111, 0.8562500, 0.91333333333333333, 0.5708333333333333]);

依赖项

~155KB