Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct SDFold {
- count: u32,
- mean: f32,
- var_mean: f32,
- std_dev: f32,
- }
- fn main() {
- let dataset = vec![1, 2, 3, 4, 5, 6, 7, 8, 9];
- let sd = dataset.fold(SDFold {
- count: 0,
- mean: 0,
- var_mean: 0,
- std_dev: 0,
- }, |acc, v| {
- let count = acc.count + 1;
- let mean = (acc.mean + v) / count;
- let var = (v - mean).pow(2);
- let var_mean = (acc.var_mean + var) / count;
- let std_dev = var_mean.sqrt();
- SDFold { count, mean, var_mean, std_dev }
- }
- )
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement