当前位置:首页 > JavaScript

js实现统计量

2026-02-03 02:00:16JavaScript

JavaScript 实现统计量

JavaScript 可以用于计算各种统计量,包括均值、中位数、众数、方差、标准差等。以下是一些常见统计量的实现方法。

计算均值(平均值)

均值是所有数据的总和除以数据的数量。可以使用以下代码计算均值:

function calculateMean(data) {
    const sum = data.reduce((acc, val) => acc + val, 0);
    return sum / data.length;
}

const data = [1, 2, 3, 4, 5];
console.log(calculateMean(data)); // 输出: 3

计算中位数

中位数是数据集中间的值。如果数据集长度为偶数,则取中间两个数的平均值。

function calculateMedian(data) {
    const sortedData = [...data].sort((a, b) => a - b);
    const mid = Math.floor(sortedData.length / 2);
    if (sortedData.length % 2 === 0) {
        return (sortedData[mid - 1] + sortedData[mid]) / 2;
    } else {
        return sortedData[mid];
    }
}

const data = [1, 2, 3, 4, 5];
console.log(calculateMedian(data)); // 输出: 3

计算众数

众数是数据集中出现频率最高的值。如果有多个众数,可以返回所有众数。

function calculateMode(data) {
    const frequencyMap = {};
    data.forEach(num => {
        frequencyMap[num] = (frequencyMap[num] || 0) + 1;
    });

    let maxFrequency = 0;
    const modes = [];
    for (const num in frequencyMap) {
        if (frequencyMap[num] > maxFrequency) {
            modes.length = 0;
            modes.push(Number(num));
            maxFrequency = frequencyMap[num];
        } else if (frequencyMap[num] === maxFrequency) {
            modes.push(Number(num));
        }
    }
    return modes.length === 1 ? modes[0] : modes;
}

const data = [1, 2, 2, 3, 4];
console.log(calculateMode(data)); // 输出: 2

计算方差

方差是数据点与均值之差的平方的平均值。

function calculateVariance(data) {
    const mean = calculateMean(data);
    const squaredDiffs = data.map(num => Math.pow(num - mean, 2));
    return calculateMean(squaredDiffs);
}

const data = [1, 2, 3, 4, 5];
console.log(calculateVariance(data)); // 输出: 2

计算标准差

标准差是方差的平方根,表示数据的离散程度。

function calculateStandardDeviation(data) {
    return Math.sqrt(calculateVariance(data));
}

const data = [1, 2, 3, 4, 5];
console.log(calculateStandardDeviation(data)); // 输出: ~1.414

使用现成库

如果需要更复杂的统计计算,可以使用现成的 JavaScript 库,如 simple-statisticsmathjs

js实现统计量

// 使用 simple-statistics
const ss = require('simple-statistics');
const data = [1, 2, 3, 4, 5];
console.log(ss.mean(data)); // 输出: 3
console.log(ss.median(data)); // 输出: 3
console.log(ss.standardDeviation(data)); // 输出: ~1.414

这些方法可以帮助快速实现常见的统计量计算,适用于数据分析、可视化或机器学习任务。

标签: js
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取所有…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…