Калькулятор относительной частоты

@import url('https://fonts.googleapis.com/css?family=Droid+Serif|Raleway');

.axis--y .domain { display: none; }

h1 { color: black; text-align: center; margin-top: 15px; margin-bottom: 0px; font-family: 'Raleway', sans-serif; }

h2 { color: black; font-size: 20px; text-align: center; margin-bottom: 15px; margin-top: 15px; font-family: 'Raleway', sans-serif; }

p { color: black; text-align: center; margin-bottom: 15px; margin-top: 15px; font-family: 'Raleway', sans-serif; }

words_intro {

color: black; font-family: Raleway; max-width: 550px; margin: 25px auto; line-height: 1.75; }

words_outro {

color: black; font-family: Raleway; max-width: 550px; margin: 25px auto; line-height: 1.75; }

words {

color: black; font-family: Raleway; max-width: 550px; margin: 25px auto; line-height: 1.75; padding-left: 100px; }

calcTitle {

text-align: center; font-size: 20px; margin-bottom: 0px; font-family: 'Raleway', serif; }

hr_top {

width: 30%; margin-bottom: 0px; margin-top: 10px; border: none; height: 2px; color: black; background-color: black; }

hr_bottom {

width: 30%; margin-top: 15px; border: none; height: 2px; color: black; background-color: black; }

.input_label_calc { display: inline-block; vertical-align: baseline; width: 350px; }

#button_calc { border: 1px solid; border-radius: 10px; margin-top: 20px; padding: 10px 10px; cursor: pointer; outline: none; background-color: white; color: black; font-family: 'Work Sans', sans-serif; border: 1px solid grey; /* Green */ }

#button_calc:hover { background-color: #f6f6f6; border: 1px solid black; }

.label_radio { text-align: center; }

#words_table { color: black; font-family: Raleway; max-width: 350px; margin: 25px auto; line-height: 1.75; } Таблица частот — это таблица, которая показывает, сколько раз определенные значения встречаются в наборе данных. Таблица относительной частоты — это таблица, которая показывает, сколько раз встречаются определенные значения по отношению ко всем наблюдениям в наборе данных. Чтобы создать таблицу относительных частот для данного набора данных, просто введите значения, разделенные запятыми, в поле ниже, а затем нажмите кнопку «Рассчитать». 4, 14, 16, 22, 24, 25, 37, 38, 38, 40, 41, 41, 43, 44

function calc() {

//remove current table if one exists var element = document.getElementsByTagName('table')[0]; if(element) {element.parentNode.removeChild(element)}

//get input values var input_data = document.getElementById('input_data').value.split(',').map(Number);

//calculate stuff var occurrence = function (array) { "use strict"; var result = {}; if (array instanceof Array) { // Check if input is array. array.forEach(function (v, i) { if (!result[v]) { // Initial object property creation. result[v] = [i]; // Create an array for that property. } else { // Same occurrences found. result[v].push(i); // Fill the array. } }); } return result; }; var size = Object.keys(occurrence(input_data)).length;

//create array of relative and cumulative values var relFreqArray = []; for (var i = 0; i < size; i++){ relFreqArray[i] = (occurrence(input_data)[Object.keys(occurrence(input_data))[i]].length / input_data.length) }

for (var cumsum = [relFreqArray[0]], i = 0, l = relFreqArray.length-1; i<l; i++) { cumsum[i+1] = cumsum[i] + relFreqArray[i+1]; }

//generate table of frequencies var table = document.createElement('table'); function boldHTML(text) { var element = document.createElement("b"); element.innerHTML = text; return element; } var tr = document.createElement('tr');

var td1 = document.createElement('td'); var td2 = document.createElement('td'); var td3 = document.createElement('td'); var td4 = document.createElement('td');

td1.appendChild(boldHTML('Value')); td2.appendChild(boldHTML('Frequency')); td3.appendChild(boldHTML('Relative Frequency')); td4.appendChild(boldHTML('Cumulative Relative Frequency'));

tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); tr.appendChild(td4);

table.appendChild(tr); for (var i = 0; i < size; i++){ var tr = document.createElement('tr');

var td1 = document.createElement('td'); var td2 = document.createElement('td'); var td3 = document.createElement('td'); var td4 = document.createElement('td');

var text1 = document.createTextNode(Object.keys(occurrence(input_data))[i]); var text2 = document.createTextNode(occurrence(input_data)[Object.keys(occurrence(input_data))[i]].length); var text3 = document.createTextNode(relFreqArray[i].toFixed(4)); var text4 = document.createTextNode(cumsum[i].toFixed(4));

td1.appendChild(text1); td2.appendChild(text2); td3.appendChild(text3); td4.appendChild(text4);

tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); tr.appendChild(td4);

table.appendChild(tr); } document.getElementById('table_output').appendChild(table);

//output results //document.getElementById('ss').innerHTML = ss.toFixed(2); }

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.