20 个版本
0.5.3 | 2023 年 8 月 29 日 |
---|---|
0.5.2 | 2023 年 7 月 4 日 |
0.5.1 | 2023 年 2 月 4 日 |
0.5.0 | 2022 年 7 月 12 日 |
0.1.3 | 2019 年 3 月 24 日 |
#16 在 科学
173,587 每月下载量
在 283 个 Crates (5 直接) 中使用
75KB
1.5K SLoC
linregress
一个 Rust 库,提供普通最小二乘线性回归和一些基本统计的易于使用实现。
联系
Linregress 由实验生物信息学研究所的计算系统医学小组开发。联系
文档
许可证
本项目受 MIT 许可证许可。有关详细信息,请参阅 LICENSE-MIT。
第三方软件
stats 模块包含从 statrs 库 中改编的代码,该库受 MIT 许可证许可。有关详细信息,请参阅 LICENSE-THIRD-PARTY。
lib.rs
:
linregress
提供了普通最小二乘线性回归和一些基本统计的易于使用实现。有关详细信息,请参阅 RegressionModel
。
使用 FormulaRegressionBuilder
构建器从数据表和 R 风格公式或要使用的列列表中构建模型。目前仅支持非常简单的公式,有关详细信息,请参阅 FormulaRegressionBuilder.formula
。
示例
use linregress::{FormulaRegressionBuilder, RegressionDataBuilder};
let y = vec![1., 2. ,3. , 4., 5.];
let x1 = vec![5., 4., 3., 2., 1.];
let x2 = vec![729.53, 439.0367, 42.054, 1., 0.];
let x3 = vec![258.589, 616.297, 215.061, 498.361, 0.];
let data = vec![("Y", y), ("X1", x1), ("X2", x2), ("X3", x3)];
let data = RegressionDataBuilder::new().build_from(data)?;
let formula = "Y ~ X1 + X2 + X3";
let model = FormulaRegressionBuilder::new()
.data(&data)
.formula(formula)
.fit()?;
let parameters: Vec<_> = model.iter_parameter_pairs().collect();
let pvalues: Vec<_> = model.iter_p_value_pairs().collect();
let standard_errors: Vec<_> = model.iter_se_pairs().collect();
assert_eq!(
parameters,
vec![
("X1", -0.9999999999999745),
("X2", 1.5872719805187785e-15),
("X3", -1.4246416546459528e-15),
]
);
assert_eq!(
standard_errors,
vec![
("X1", 9.799066977595267e-13),
("X2", 4.443774660560714e-15),
("X3", 2.713389610740135e-15),
]
);
assert_eq!(
pvalues,
vec![
("X1", 6.238279788691533e-13),
("X2", 0.7815975465725482),
("X3", 0.6922074604135647),
]
);
依赖项
~3MB
~57K SLoC