9 个版本

使用旧的 Rust 2015

0.2.2 2024 年 7 月 8 日
0.2.1 2022 年 2 月 8 日
0.2.0 2021 年 5 月 17 日
0.1.5 2020 年 12 月 23 日
0.1.1 2018 年 8 月 29 日

#269算法


kders 中使用

MIT 许可证

18KB
327

kendalls

crates.io docs.rs codecov

肯德尔秩相关系数

用法

将此内容添加到您的 Cargo.toml

[dependencies]
kendalls = "0.2.2"

并将其添加到您的 crate 根目录

extern crate kendalls;

示例

fn main() -> Result<(), kendalls::Error> {
    let (tau_b, significance) = kendalls::tau_b(&[1, 2, 3], &[3, 4, 5])?;
    assert_eq!(tau_b, 1.0);
    assert_eq!(significance, 1.5666989036012806);

    Ok(())
}

lib.rs:

Kendall's tau rank correlation. 目前这基本上是从 Apache Commons Math 库复制粘贴,并添加了一些来自 scipy 和 R cor.test 函数的修改。

示例用法

let (tau_b, significance) = kendalls::tau_b(&[1, 2, 3], &[3, 4, 5]).unwrap();
assert_eq!(tau_b, 1.0);
assert_eq!(significance, 1.5666989036012806);

如果您想计算相关性,比如对 f64 类型,那么您必须提供一个自定义比较函数或为您的自定义浮点数字类型声明 Ord 特性(参见 float crate)。

use std::cmp::Ordering;

let (tau_b, _significance) = kendalls::tau_b_with_comparator(
    &[1.0, 2.0],
    &[3.0, 4.0],
    |a: &f64, b: &f64| a.partial_cmp(&b).unwrap_or(Ordering::Greater),
).unwrap();
assert_eq!(tau_b, 1.0);

如果向函数传递空数组或 xy 数组的维度不相等,函数将返回错误。

无运行时依赖