Sharp Calculator for Statistics

Sharp Calculator for Statistics

This calculator helps in performing basic statistical calculations like mean, median, mode, and standard deviation.

Not calculated yet.

let calculationSteps = “”; function calculateStatistics(){ const data = document.getElementById(“dataInput”).value.split(“,”).map(Number); if(data.some(isNaN)){ alert(“Please enter valid numbers.”); return; } const mean = calculateMean(data); const median = calculateMedian(data); const mode = calculateMode(data); const stdDev = calculateStdDev(data, mean); document.getElementById(“meanResult”).value = mean.toFixed(2); document.getElementById(“medianResult”).value = median; document.getElementById(“modeResult”).value = mode.join(“, “); document.getElementById(“stdDevResult”).value = stdDev.toFixed(2); calculationSteps = `Inputs:
Data: ${data.join(“, “)}

`; calculationSteps += `Formulas:
Mean = Σx / n
Median = Middle value
Mode = Most frequent value
Standard Deviation = √(Σ(x – mean)² / n)

`; calculationSteps += `Results:
Mean: ${mean.toFixed(2)}
Median: ${median}
Mode: ${mode.join(“, “)}
Standard Deviation: ${stdDev.toFixed(2)}`; if(document.getElementById(“calculationSteps”).style.display === “block”){ document.getElementById(“calculationSteps”).innerHTML = calculationSteps; } } function resetCalculator(){ document.querySelectorAll(“#calculator input”).forEach(el => el.value = “”); calculationSteps = “”; document.getElementById(“calculationSteps”).innerHTML = “

Not calculated yet.

“; } function toggleSteps(){ const steps = document.getElementById(“calculationSteps”); const arrow = document.getElementById(“toggleArrow”); if(steps.style.display === “none” || steps.style.display === “”){ steps.style.display = “block”; arrow.style.transform = “rotate(180deg)”; steps.innerHTML = calculationSteps || “

Not calculated yet.

“; } else { steps.style.display = “none”; arrow.style.transform = “rotate(0deg)”; } } function calculateMean(data){ return data.reduce((a, b) => a + b, 0) / data.length; } function calculateMedian(data){ data.sort((a, b) => a – b); const middle = Math.floor(data.length / 2); return data.length % 2 === 0 ? (data[middle – 1] + data[middle]) / 2 : data[middle]; } function calculateMode(data){ const frequency = {}; data.forEach(item => frequency[item] = (frequency[item] || 0) + 1); const maxFreq = Math.max(…Object.values(frequency)); return Object.keys(frequency).filter(key => frequency[key] === maxFreq); } function calculateStdDev(data, mean){ const variance = data.reduce((acc, value) => acc + Math.pow(value – mean, 2), 0) / data.length; return Math.sqrt(variance); }

Leave a Reply

Your email address will not be published. Required fields are marked *