Public
Edited
Aug 16, 2023
Insert cell
Insert cell
{
const sd = standardDeviation();
sd.addAll(2, 4, 4, 4, 5, 5, 7);
sd.addAll(9);
return { avg: sd.avg(), sd: sd.sd() };
}
Insert cell
standardDeviation = () => {
let count = 0;
let sum = 0;
let sumOfSquares = 0;

const add = (value) => {
count += 1;
sum += value;
sumOfSquares += value * value;
};
const remove = (value) => {
count -= 1;
sum -= value;
sumOfSquares -= value * value;
};
const avg = () => sum / count;
const sd = () =>
Math.sqrt(sumOfSquares / count - (sum * sum) / count / count);

return {
addAll(...values) {
values.forEach(add);
},
removeAll(...values) {
values.forEach(remove);
},
avg,
sd
};
}
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more