Online Biomedical Research Data Analyzer
Compare two independent groups using descriptive statistics and t-test.
Enter your numerical data for each group below. Each value should be on a new line.
Descriptive Statistics
T-Test for Independent Samples
Results will be displayed here after you enter data and click "Analyze Data".
Data Formatting Guide
- Enter one numerical value per line.
- Do not include units, symbols (like $, %), or commas.
- Blank lines or lines with non-numeric text will be ignored.
- Both groups must have at least two data points to perform a t-test.
Explanation of Terms
- Mean
- The average of the data points.
- Median
- The middle value of a dataset when it is sorted in order.
- Standard Deviation (SD)
- A measure of the amount of variation or dispersion of a set of values.
- T-Test
- A statistical test used to determine if there is a significant difference between the means of two groups.
- P-value
- The probability of obtaining results at least as extreme as the observed results, assuming the null hypothesis is correct. A p-value less than 0.05 is typically considered statistically significant.
Degrees of Freedom (df): ${tTest.degreesOfFreedom}
Interpretation: ${interpretation}
This interpretation assumes a two-tailed test with an alpha level of 0.05. For a precise p-value, use the t-statistic and degrees of freedom in a p-value calculator.
`; document.getElementById('results-content').style.display = 'block'; }; // --- 6. PDF Generation --- document.getElementById('pdfDownloadButton').addEventListener('click', () => { if (typeof window.jspdf === 'undefined' || typeof window.jspdf.jsPDF.prototype.autoTable === 'undefined') { errorSection.textContent = 'Could not generate PDF. A required library failed to load.'; errorSection.style.display = 'block'; return; } const { jsPDF } = window.jspdf; const doc = new jsPDF(); // Get data from the UI to ensure it's current const groupAStats = document.querySelector('#descriptive-stats-tables').children[0].querySelector('table'); const groupBStats = document.querySelector('#descriptive-stats-tables').children[1].querySelector('table'); const ttestResults = document.getElementById('ttest-results').innerText; doc.setFontSize(20); doc.text("Biomedical Data Analysis Report", 105, 20, { align: 'center' }); doc.setFontSize(12); doc.text(`Report Generated: ${new Date().toLocaleDateString('en-US')}`, 105, 28, { align: 'center' }); doc.setFontSize(16); doc.text("Descriptive Statistics", 14, 45); doc.autoTable({ head: [['Control Group', 'Value']], body: Array.from(groupAStats.rows).map(row => [row.cells[0].innerText, row.cells[1].innerText]), startY: 50, theme: 'grid', margin: { left: 14 } }); doc.autoTable({ head: [['Treatment Group', 'Value']], body: Array.from(groupBStats.rows).map(row => [row.cells[0].innerText, row.cells[1].innerText]), startY: 50, theme: 'grid', margin: { left: 108 } }); const finalY = doc.autoTable.previous.finalY; doc.setFontSize(16); doc.text("T-Test Results", 14, finalY + 15); doc.setFontSize(11); doc.text(doc.splitTextToSize(ttestResults, 180), 14, finalY + 22); doc.save('Biomedical_Analysis_Report.pdf'); }); });