Data analysis bao gồm việc lấy dữ liệu mà bạn cần và chiết xuất các thông tin hữu dụng. Trong suốt quá trình này, bạn phải làm sạch dữ liệu, trình bày chúng một cách dễ hiểu, và đưa ra kết luận có thể giúp công ty ra quyết định.

1. Các tìm số trung bình cộng trong JavaScript

Khi bạn muốn tìm số trung bình cộng của một nhóm số, bạn cộng tất cả số lại và chia cho tổng số lượng.

Lấy ví dụ, code sau sẽ cho mảng có 100 số ngẫu nhiên cho tập dữ liệu:

const data = [

    943, 504, 733, 122, 868, 994, 553, 376, 450, 212,

    295, 859, 29, 820, 148, 589, 621, 870, 941, 909,

    725, 160, 198, 568, 409, 625, 207, 338, 162, 439,

    894, 937, 929, 648, 91, 235, 550, 851, 626, 926,

    190, 770, 33, 274, 79, 355, 768, 504, 415, 232,

    33, 327, 100, 1000, 775, 803, 587, 676, 17, 952,

    931, 838, 447, 358, 282, 606, 877, 185, 514, 263,

    887, 725, 270, 716, 762, 633, 900, 948, 786, 28,

    950, 858, 587, 804, 127, 803, 111, 609, 606, 461,

    947, 868, 43, 432, 113, 607, 852, 698, 984, 575

];

Trong JavaScript, bạn sử dụng array.reduce (tính tổng số của mảng) chia cho array.length (độ dài của mảng) để tìm số trung bình cộng như sau:

const average = data.reduce((a, b) => a + b) / data.length; // Returns 552.35

Bạn cũng có thể sử dụng cách dùng thư viện của bên thứ ba là math.js, như sau:

import { mean } from 'mathjs';

const average = mean(...data); // Returns 552.35

Bạn còn có thể dùng vòng lặp for hoặc forEach.

Tính trung bình dùng vòng lặp for:

let sum = 0;

for (let datum of data) sum += datum;

const average = sum / data.length; // Returns 552.35

Tính trung bình dùng vòng lặp forEach:

let sum = 0;

data.forEach((datum) => sum += datum);

const average = sum / data.length; // Returns 552.35

2. Các tìm số Max và Min JavaScript

Sử dụng cùng mảng ví dụ trên, chúng ta có thể tìm số lớn nhất bằng cách dùng  max của module Math có sẵn.

const max = Math.max(...data); // Returns 1000

Bạn cũng có thể dùng min tìm số bé nhất.

const min = Math.min(...data); // Returns 17

Bên cạnh đó, bạn có thể dùng thư viện math.js của bên thứ ba để tìm số bé nhất và số lớn nhất như sau:

import { min, max } from 'mathjs';

const maxValue = max(...data); // Returns 1000

const minValue = min(...data); // Returns 17

Sử dụng array.sort như một cách thủ công để tìm phần tử đầu và phần tử cuối trong danh sách và so sánh chúng lần lượt bằng cách dùng vòng lặp.

const sortedData = data.sort((a, b) => a - b);

const min = sortedData[0]; // Returns 17

const max = sortedData[sortedData.length - 1]; // Returns 1000

let min, max;

for (let datum of data) {

    if (!min || !max) {

        min = datum;

        max = datum;

    } else if (datum < min) min = datum;

    else if (datum > max) max = datum;

}

3. Cách tìm số tổng Sum JavaScript

Chúng ta sẽ tìm tổng Sum của một mảng sử dụng array.reduce.

const sum = data.reduce((a, b) => a + b); // Returns 55235

Cách dễ hơn để tính tổng là sử dụng sum từ thư viện math.js.

import { sum } from 'mathjs';

const sumValue = sum(...data); // Returns 55235

Bạn có thể sử dụng cách vòng lặp để tính tổng nếu bạn muốn.

4. Cách tìm số Mode JavaScript

Số mode là số có số lần xuất hiện nhiều nhất trong một dataset. 

Bạn có thể tìm phần tử xuất hiện nhiều nhất của một mảng bằng cách lặp qua mảng đó, sử dụng một object để map từng giá trị và số lượng của nó và lặp qua object này đến cuối mảng để tìm giá trị cao nhất.

Để minh họa điều này dễ dàng hơn, hay sử dụng mảng data thử nghiệm chúng ta đã tạo như sau:

data[99] = 33;

Bây giờ bạn có thể tìm số mode như sau:

let frequency = {};

for (let datum of data) {

    if (frequency[datum]) frequency[datum] += 1;

    else frequency[datum] = 1;

}

let highestFrequency = 0;

let modeValue = 0; 

for (let datum in frequency) {

    if (frequency[datum] > highestFrequency) {

        highestFrequency = frequency[datum];

        modeValue = datum;

    }

}

Bạn có thể tìm số mode dễ dàng hơn bằng mode từ thư viện math.js:

const modeValue = mode(...data); // Returns 33

5. Các tìm số Median trong JavaScript

Số median là giá trị giữa của một dataset. Điều này có nghĩa là dataset phải được sắp xếp, hoặc được sắp xếp theo thứ tự tăng dần hoặc giảm dần – nếu không giá trị giữa không xác định.

Bạn có thể tìm số median bằng cách sắp xếp mảng trước, sau đó chọn số ở giữa nếu mảng lẻ. Nếu mảng chẵn, bạn chọn 2 phần tử ở giữa và tính trung bình.

const sortedArray = data.sort((a, b) => a - b);

const middlePosition = Math.floor(data.length / 2);

const median = data.length % 2 == 0 ? (sortedArray[middlePosition] + sortedArray[middlePosition - 1]) / 2 : sortedArray[middlePosition]; // Returns 597.5

Một cách khác, bạn có thể dùng median method của thư viện math.js.

import { median } from 'mathjs';

const medianValue = median(...data); // Returns 597.6

Thư viện math.js là một trong các thư viện của JavaScript chứa nhiều hàm bổ tích để phân tích dữ liệu một cách dễ dàng. 

Hy vọng bài viết này giúp bạn hiểu tổng quát các hàm cơ bản để làm Data Analysis bằng JavaScript.

Nguồn: www.freecodecamp.org

VietnamWorks inTECH