<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ahnhyeongkyu</title>
    <description>The latest articles on DEV Community by Ahnhyeongkyu (@ahnhyeongkyu).</description>
    <link>https://dev.to/ahnhyeongkyu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3786389%2F1d8d4f5f-6fd9-4e83-bd3f-8d55903a2420.png</url>
      <title>DEV Community: Ahnhyeongkyu</title>
      <link>https://dev.to/ahnhyeongkyu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ahnhyeongkyu"/>
    <language>en</language>
    <item>
      <title>3 Comments Your Thesis Committee Will Make About Your Stats Section (Fix Them Before They Do)</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Tue, 01 Sep 2026 07:56:46 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/3-comments-your-thesis-committee-will-make-about-your-stats-section-fix-them-before-they-do-58co</link>
      <guid>https://dev.to/ahnhyeongkyu/3-comments-your-thesis-committee-will-make-about-your-stats-section-fix-them-before-they-do-58co</guid>
      <description>&lt;p&gt;If your advisor or a reviewer has ever handed back your results section with red ink, it's usually one of three things — and none of them are about whether your test was 'right.'&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. You reported a p-value with no effect size.&lt;/strong&gt;&lt;br&gt;
A significant t-test or ANOVA tells a committee something happened, not how much. APA 7th edition expects Cohen's d, eta-squared, or an equivalent alongside every test statistic. If your write-up reads "t(48) = 2.31, p = .025" and stops there, that's the first thing a reviewer circles. Add the effect size and a one-line plain-language read of its magnitude (small/medium/large per convention for that test).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. You ran multiple comparisons without correcting for them.&lt;/strong&gt;&lt;br&gt;
Running five t-tests instead of one ANOVA, or testing every pair after a significant omnibus test, inflates your false-positive rate. If you didn't apply a Bonferroni, Tukey HSD, or Holm correction (and say so explicitly in the write-up), expect a comment asking why not. This is one of the most common flags on multi-group comparisons and post-hoc analyses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. You didn't check — or didn't report checking — your test's assumptions.&lt;/strong&gt;&lt;br&gt;
Normality for parametric tests, homogeneity of variance for ANOVA/t-tests, linearity and independence for regression. Committees don't expect perfection; they expect a sentence: "Levene's test indicated equal variances (p = .41), so a standard independent t-test was used." Silence on assumptions reads as "didn't check," even if you did.&lt;/p&gt;

&lt;p&gt;The fix for all three is the same: build the effect size, correction, and assumption check into your workflow &lt;em&gt;before&lt;/em&gt; you write the results section, not after committee feedback forces a rewrite. Free calculators (t-test, ANOVA, regression, factor analysis, etc.) that surface effect sizes and assumption checks alongside the test statistic, and format the whole thing as an APA-ready sentence, save the second pass entirely — &lt;a href="https://statmate.org" rel="noopener noreferrer"&gt;https://statmate.org&lt;/a&gt;&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>5 Reasons Reviewers Send Back Your Stats Section (and How to Fix Each One)</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Sat, 29 Aug 2026 07:36:29 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/5-reasons-reviewers-send-back-your-stats-section-and-how-to-fix-each-one-327l</link>
      <guid>https://dev.to/ahnhyeongkyu/5-reasons-reviewers-send-back-your-stats-section-and-how-to-fix-each-one-327l</guid>
      <description>&lt;p&gt;Reviewer comment #2 always looks the same: "Please justify your choice of statistical test and report effect sizes / assumption checks." Here are the 5 most common reasons a stats section gets bounced back, and the one-line fix for each:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;No effect size reported — a p-value alone doesn't tell a reader how big the effect is. Add Cohen's d (t-tests), eta-squared (ANOVA), or r (correlation) next to every significance test.&lt;/li&gt;
&lt;li&gt;No assumption check — reviewers now expect a one-sentence note on normality/homogeneity even when the test is robust to violations. State it, don't skip it.&lt;/li&gt;
&lt;li&gt;Multiple comparisons left uncorrected — running 5 pairwise t-tests without Bonferroni/Tukey inflates your Type I error and reviewers know it.&lt;/li&gt;
&lt;li&gt;Wrong test for the data structure — using independent t-test on paired/repeated data (or vice versa) is the single most common silent error in submitted manuscripts.&lt;/li&gt;
&lt;li&gt;Results reported inconsistently with APA 7 — df, exact p, and test statistic formatting mismatches across the same paper signal a rushed writeup.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each of these takes under a minute to check once you have your test statistic and sample size — I built free calculators for all 20 common tests (with the effect size and assumption check included in the output) at statmate.org if you want to double check before you resubmit.&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>How to Report a Mann-Whitney U Test in APA 7th Edition (With Effect Size)</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Sat, 22 Aug 2026 07:04:34 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/how-to-report-a-mann-whitney-u-test-in-apa-7th-edition-with-effect-size-2an4</link>
      <guid>https://dev.to/ahnhyeongkyu/how-to-report-a-mann-whitney-u-test-in-apa-7th-edition-with-effect-size-2an4</guid>
      <description>&lt;p&gt;When your data fails the normality assumption, Mann-Whitney U replaces the independent t-test — but its APA write-up trips people up because you report U and z, not t.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The template:&lt;/strong&gt;&lt;br&gt;
A Mann-Whitney U test indicated that [DV] was [higher/lower] for &lt;a href="https://dev.toMdn%20=%20X"&gt;Group A&lt;/a&gt; than &lt;a href="https://dev.toMdn%20=%20Y"&gt;Group B&lt;/a&gt;, U = [value], z = [value], p = [value], r = [value].&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What each piece means:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Report medians, not means&lt;/strong&gt; — the test ranks data, so means misrepresent what was actually compared.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;U&lt;/strong&gt; is the test statistic itself; most software also gives you a normal approximation &lt;strong&gt;z&lt;/strong&gt; once n is large enough, which is what you report alongside U.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Effect size (r)&lt;/strong&gt;: divide z by the square root of total N (r = z / √N). APA 7 requires an effect size for every inferential test — this is the one reviewers ask for when it's missing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Common mistake&lt;/strong&gt;: reporting only p without U/z/r. A p-value alone tells a reader nothing about magnitude.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Worked example:&lt;/strong&gt;&lt;br&gt;
A Mann-Whitney U test indicated that anxiety scores were higher for the treatment group (Mdn = 14) than the control group (Mdn = 9), U = 210, z = 2.87, p = .004, r = .41.&lt;/p&gt;

&lt;p&gt;If you're running this test on your own data, statmate.org's Mann-Whitney calculator outputs U, z, p, and r together with this exact sentence pre-filled from your numbers, so you can skip the manual formula work.&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>Choosing the Right Statistical Test: A Practical Decision Guide for Grad Students</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Fri, 21 Aug 2026 07:05:58 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/choosing-the-right-statistical-test-a-practical-decision-guide-for-grad-students-agl</link>
      <guid>https://dev.to/ahnhyeongkyu/choosing-the-right-statistical-test-a-practical-decision-guide-for-grad-students-agl</guid>
      <description>&lt;p&gt;Picking the wrong statistical test is one of the most common reasons a thesis committee sends an analysis chapter back for revisions. Here's a quick decision framework.&lt;/p&gt;

&lt;p&gt;Step 1 — What's your outcome variable?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Continuous (scores, measurements) → Step 2a&lt;/li&gt;
&lt;li&gt;Categorical (yes/no, groups) → Step 2b&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Step 2a — Comparing continuous outcomes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2 independent groups, normal distribution → independent-samples t-test&lt;/li&gt;
&lt;li&gt;2 independent groups, non-normal/ordinal → Mann-Whitney U&lt;/li&gt;
&lt;li&gt;3+ independent groups, normal → one-way ANOVA (+ Tukey HSD post-hoc)&lt;/li&gt;
&lt;li&gt;3+ independent groups, non-normal → Kruskal-Wallis (+ Dunn's post-hoc)&lt;/li&gt;
&lt;li&gt;Repeated measures, 2 timepoints → paired t-test&lt;/li&gt;
&lt;li&gt;Repeated measures, 3+ timepoints → repeated-measures ANOVA or Friedman test&lt;/li&gt;
&lt;li&gt;Relationship between two continuous variables → Pearson (linear, normal) or Spearman (monotonic, non-normal)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Step 2b — Categorical outcomes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2 categorical variables, independence → chi-square test of independence (check expected cell counts ≥5, otherwise Fisher's exact)&lt;/li&gt;
&lt;li&gt;Predicting a binary outcome from multiple predictors → logistic regression&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Step 3 — Check assumptions before trusting the result&lt;br&gt;
Normality (Shapiro-Wilk), homogeneity of variance (Levene's), and for repeated designs, sphericity (Mauchly's) should be checked, not assumed. If normality fails on a 2-group comparison, that's the cue to switch from t-test to Mann-Whitney.&lt;/p&gt;

&lt;p&gt;Step 4 — Report in APA format&lt;br&gt;
APA 7th edition wants the test statistic, degrees of freedom, exact p-value (or p &amp;lt; .001), and an effect size. Example: t(48) = 2.14, p = .038, d = 0.61.&lt;/p&gt;

&lt;p&gt;Getting the test right is half the work; writing it up the way your committee expects is the other half. If you'd rather skip the manual assumption-checking and APA formatting, statmate.org runs the test selection and formats the write-up for you — but the framework above works fine by hand, in R, or in SPSS too.&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>I ran 5 of StatMate's stats calculators against Python's scipy.stats — raw data, code, and real output, not a marketing table</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Fri, 21 Aug 2026 07:05:57 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/i-ran-5-of-statmates-stats-calculators-against-pythons-scipystats-raw-data-code-and-real-3ohh</link>
      <guid>https://dev.to/ahnhyeongkyu/i-ran-5-of-statmates-stats-calculators-against-pythons-scipystats-raw-data-code-and-real-3ohh</guid>
      <description>&lt;p&gt;I run StatMate, a set of 20 free browser-based statistics calculators (t-tests, ANOVA, chi-square, correlation, non-parametric tests). Instead of asking you to trust a marketing page, here are 5 of the calculators run directly from the actual source code, cross-checked against Python's scipy.stats (v1.13.1) with the same raw data — copy the code blocks below and run them yourself.&lt;/p&gt;

&lt;p&gt;StatMate's calculators use jStat v1.9.6 + simple-statistics v7.8.8 (see package.json). I ran the real TypeScript functions from lib/statistics/ with &lt;code&gt;npx tsx&lt;/code&gt;, then ran the identical arrays through scipy.stats.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Independent t-test&lt;/strong&gt; (Welch, n1=15, n2=15)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;g1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;21&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;28&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;29&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;27&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;31&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;28&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;g2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;21&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;21&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;StatMate (lib/statistics/t-test.ts): t(25.68) = 4.31, p &amp;lt; .001&lt;br&gt;
scipy &lt;code&gt;stats.ttest_ind(g1, g2, equal_var=False)&lt;/code&gt;: t=4.3077, df=25.68, p=.000213&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. One-way ANOVA&lt;/strong&gt; (3 groups, n=10 each)&lt;br&gt;
StatMate (lib/statistics/anova.ts): F(2, 27) = 24.19, p &amp;lt; .001&lt;br&gt;
scipy &lt;code&gt;stats.f_oneway(*groups)&lt;/code&gt;: F=24.1870, p=9.57e-7&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Pearson correlation&lt;/strong&gt; (n=30)&lt;br&gt;
StatMate (lib/statistics/correlation.ts): r = .996, p &amp;lt; .001&lt;br&gt;
scipy &lt;code&gt;stats.pearsonr(x, y)&lt;/code&gt;: r=.9964, p=1.57e-31&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Chi-square test of independence&lt;/strong&gt; (2x3 table)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;table&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;],[&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;StatMate (lib/statistics/chi-square.ts): χ²(2) = 10.09, p = .0064&lt;br&gt;
scipy &lt;code&gt;stats.chi2_contingency(table)&lt;/code&gt;: χ²=10.0896, p=.00644&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Mann-Whitney U&lt;/strong&gt;&lt;br&gt;
StatMate (lib/statistics/mann-whitney.ts): U = 0, p &amp;lt; .001&lt;br&gt;
scipy &lt;code&gt;stats.mannwhitneyu(mw1, mw2)&lt;/code&gt;: U=0.0, p=3.66e-5&lt;/p&gt;

&lt;p&gt;All 5 matched to floating-point precision between two independent implementations (StatMate's own jStat/simple-statistics code and scipy). No R involved — I don't have R in this environment, so I'm not claiming an R comparison. If anyone wants to add an R cross-check, the raw arrays above are enough to reproduce it in &lt;code&gt;t.test()&lt;/code&gt;/&lt;code&gt;aov()&lt;/code&gt;/etc. — I'd genuinely like to see that comparison and will update if someone runs it.&lt;/p&gt;

&lt;p&gt;Calculators used: &lt;a href="https://statmate.org" rel="noopener noreferrer"&gt;https://statmate.org&lt;/a&gt; (free, no signup for calculations).&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>undefined</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Thu, 20 Aug 2026 07:43:58 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/undefined-jbf</link>
      <guid>https://dev.to/ahnhyeongkyu/undefined-jbf</guid>
      <description>&lt;h1&gt;
  
  
  Reporting a Kruskal-Wallis H Test in APA 7 Style
&lt;/h1&gt;

&lt;p&gt;The Kruskal-Wallis H test is the non-parametric alternative to a one-way ANOVA, used when your dependent variable doesn't meet normality assumptions or is ordinal. Here's how to report it correctly in APA 7 format.&lt;/p&gt;

&lt;h2&gt;
  
  
  The basic format
&lt;/h2&gt;

&lt;p&gt;H(df) = [statistic], p = [value], followed by an effect size (epsilon-squared or eta-squared-H), and post-hoc detail if the result is significant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A Kruskal-Wallis H test showed a statistically significant difference in [DV] across the three groups, H(2) = 8.42, p = .015, ε² = .11. Dunn's post-hoc tests with Holm-Bonferroni correction indicated group A scored significantly higher than group C (p = .012), but no other pairwise differences were significant.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Three things people consistently get wrong
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Naming the post-hoc correction.&lt;/strong&gt; Don't just write "p &amp;lt; .05" — state the correction method explicitly. Bonferroni is conservative; Holm-Bonferroni is generally preferred and worth naming.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skipping the effect size.&lt;/strong&gt; H and p alone aren't sufficient for APA 7 — report epsilon-squared (ε²) or eta-squared-H alongside them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Miscounting df.&lt;/strong&gt; df = k − 1 (number of groups minus 1), not sample size minus 1.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why this matters beyond style compliance
&lt;/h2&gt;

&lt;p&gt;Reviewers and thesis committees increasingly check for correction-method transparency and effect sizes as a proxy for statistical rigor — omitting them is a common reason for "minor revisions" requests.&lt;/p&gt;




&lt;p&gt;Disclosure: I built statmate.org, a tool that runs the test and generates this exact APA-formatted writeup automatically. Sharing the manual reasoning here regardless, since knowing the rule matters more than the tool.&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>How to choose the right statistical test for your thesis (a decision-tree walkthrough)</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Wed, 19 Aug 2026 07:36:01 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/how-to-choose-the-right-statistical-test-for-your-thesis-a-decision-tree-walkthrough-2kbo</link>
      <guid>https://dev.to/ahnhyeongkyu/how-to-choose-the-right-statistical-test-for-your-thesis-a-decision-tree-walkthrough-2kbo</guid>
      <description>&lt;p&gt;Picking a test is where most thesis stats panic starts — not APA formatting. This is a plain decision path for the most common designs in social science/health/education research:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Comparing two groups?&lt;/strong&gt; → independent samples → independent t-test (normal) or Mann-Whitney U (non-normal/ordinal). Same subjects measured twice → paired t-test or Wilcoxon signed-rank.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comparing 3+ groups?&lt;/strong&gt; → one-way ANOVA (normal, equal variance) or Kruskal-Wallis H (non-normal). Two categorical factors at once → two-way ANOVA.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Relationship between two continuous variables?&lt;/strong&gt; → correlation (Pearson if linear+normal, Spearman if not) or simple regression if you need prediction, not just association.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Categorical vs categorical?&lt;/strong&gt; → chi-square test of independence (or Fisher's exact if any expected cell count &amp;lt; 5).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scale reliability before you even run the above?&lt;/strong&gt; → Cronbach's alpha first — a test result built on an unreliable scale isn't worth reporting.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The underlying question is always: what's the outcome variable's type (continuous/ordinal/categorical), how many groups, and are your normality/variance assumptions met? Get those three answers and the test picks itself.&lt;/p&gt;

&lt;p&gt;If you want to walk through this interactively with your own data, StatMate has a free decision-tree wizard (statmate.org/wizard) that asks these same questions and routes you to the right calculator — no signup, and it runs 20 tests including the ones above.&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>The APA 7 Statistics Reporting Cheat Sheet: Exact Syntax for 9 Common Tests</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Wed, 12 Aug 2026 07:41:34 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/the-apa-7-statistics-reporting-cheat-sheet-exact-syntax-for-9-common-tests-4elh</link>
      <guid>https://dev.to/ahnhyeongkyu/the-apa-7-statistics-reporting-cheat-sheet-exact-syntax-for-9-common-tests-4elh</guid>
      <description>&lt;p&gt;Grad students lose more time figuring out &lt;em&gt;how to report&lt;/em&gt; a result than running it. APA 7 has exact formatting rules for every test, scattered across a 400-page manual. Here's the syntax I wish I'd had, for the tests most theses actually use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Independent-samples t-test&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;t(df) = value, p = .xxx, d = value&lt;/code&gt;&lt;br&gt;
Example: t(58) = 2.45, p = .018, d = 0.63.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One-way ANOVA&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;F(df_between, df_within) = value, p = .xxx, η² = value&lt;/code&gt;&lt;br&gt;
Example: F(2, 87) = 4.12, p = .020, η² = 0.09.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chi-square test of independence&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;χ²(df, N = n) = value, p = .xxx&lt;/code&gt;&lt;br&gt;
Example: χ²(1, N = 200) = 6.73, p = .009.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pearson correlation&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;r(df) = value, p = .xxx&lt;/code&gt;&lt;br&gt;
Example: r(48) = .42, p = .002.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple linear regression&lt;/strong&gt;&lt;br&gt;
Coefficient: &lt;code&gt;b = value, SE = value, t(df) = value, p = .xxx&lt;/code&gt;. Model fit: &lt;code&gt;R² = value, F(df1, df2) = value, p = .xxx&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mann-Whitney U&lt;/strong&gt; (non-parametric t-test alternative)&lt;br&gt;
&lt;code&gt;U = value, z = value, p = .xxx&lt;/code&gt; — report medians (Mdn), not means.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wilcoxon signed-rank test&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;z = value, p = .xxx, r = value&lt;/code&gt; — effect size is r, not d.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cronbach's alpha&lt;/strong&gt; (reliability)&lt;br&gt;
&lt;code&gt;α = value&lt;/code&gt;, reported per scale, not per item. α ≥ .70 is the conventional (debated) cutoff.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Logistic regression&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;b = value, SE = value, Wald χ²(df) = value, p = .xxx, OR = value&lt;/code&gt; — reviewers will ask for the odds ratio if it's missing.&lt;/p&gt;

&lt;p&gt;Three things that trip people up every time: p-values drop the leading zero (&lt;code&gt;p = .018&lt;/code&gt;, never &lt;code&gt;p = 0.018&lt;/code&gt;); report exact p over &lt;code&gt;p &amp;lt; .05&lt;/code&gt; unless p is very small (&lt;code&gt;p &amp;lt; .001&lt;/code&gt;); and effect sizes are not optional in APA 7 — a missing effect size is one of the most common methods-section desk-reject notes.&lt;/p&gt;

&lt;p&gt;If you'd rather not hand-format these, I built statmate.org — it runs the test and outputs the line above automatically for 20 test types. But the syntax above works on its own, no tool required.&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>The 5-Minute Pre-Flight Checklist Before You Run Any Statistical Test</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Mon, 10 Aug 2026 07:33:51 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/the-5-minute-pre-flight-checklist-before-you-run-any-statistical-test-2h01</link>
      <guid>https://dev.to/ahnhyeongkyu/the-5-minute-pre-flight-checklist-before-you-run-any-statistical-test-2h01</guid>
      <description>&lt;p&gt;Every semester I watch grad students run a t-test or ANOVA the moment their data is entered — then get flagged in peer review for skipping assumption checks. Here's the checklist I actually use before touching any parametric test, condensed from what committees ask about:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Sample size vs. group count. Below roughly 15-20 per cell, parametric tests get shaky — consider the nonparametric equivalent (Mann-Whitney instead of independent t, Kruskal-Wallis instead of one-way ANOVA) before you finish collecting the rest of your sample.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Normality. Run Shapiro-Wilk on residuals, not raw scores, for regression/ANOVA. For n &amp;gt; 50, eyeball a Q-Q plot instead — Shapiro-Wilk gets oversensitive to trivial deviations at large n.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Homogeneity of variance. Levene's test for t-tests/ANOVA. If it fails, don't switch tests — use Welch's correction instead.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Independence. The one assumption no software checks for you. Repeated measurements on the same subject, or nested data (students within classrooms), violate this even when everything else passes — you need repeated-measures or mixed models instead.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Effect size, decided before you see the p-value. Committees ask for Cohen's d / eta-squared / r regardless of significance. Compute it as part of your plan, not as an afterthought when p = .06.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;None of this needs paid software — R's shapiro.test() and leveneTest() (car package) cover 1-4 for free. If you'd rather have the checks run automatically alongside the test and the write-up formatted in APA style, StatMate's calculators (statmate.org) do that step for you — but the checklist above holds regardless of what tool you use.&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>How to Report a Two-Way ANOVA in APA 7th Edition (With Templates)</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Thu, 06 Aug 2026 07:42:54 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/how-to-report-a-two-way-anova-in-apa-7th-edition-with-templates-3935</link>
      <guid>https://dev.to/ahnhyeongkyu/how-to-report-a-two-way-anova-in-apa-7th-edition-with-templates-3935</guid>
      <description>&lt;p&gt;A two-way ANOVA gives you three separate results to report, not one: the main effect of Factor A, the main effect of Factor B, and their interaction. Most write-ups miss the interaction term or report it after — instead of before — checking whether it changes how the main effects should be interpreted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Check the interaction first.&lt;/strong&gt;&lt;br&gt;
If the interaction is significant, the main effects can be misleading on their own (the effect of Factor A depends on the level of Factor B), so report the interaction before either main effect and consider simple-effects follow-up tests rather than trusting the marginal means.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. APA 7 template for each term:&lt;/strong&gt;&lt;br&gt;
"A two-way ANOVA was conducted to examine the effects of [Factor A] and [Factor B] on [DV]. There was a statistically significant interaction between [Factor A] and [Factor B], F(df1, df2) = X.XX, p = .0XX, η²p = .XX."&lt;/p&gt;

&lt;p&gt;If the interaction is not significant, drop it and report main effects instead:&lt;br&gt;
"There was a statistically significant main effect of [Factor A], F(df1, df2) = X.XX, p = .0XX, η²p = .XX. There was no significant main effect of [Factor B], F(df1, df2) = X.XX, p = .0XX, η²p = .XX."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Degrees of freedom.&lt;/strong&gt; df1 = (levels of factor − 1) for that term (or the product of both, for the interaction); df2 = total N − total number of cells. Get both from your ANOVA table, not just the F-value.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Effect size.&lt;/strong&gt; Partial eta-squared (η²p) is standard for factorial ANOVA. Rough conventions: .01 small, .06 medium, .14 large (Cohen, 1988) — report it, don't just call the result 'significant.'&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. If you need this fast:&lt;/strong&gt; I built a free two-way ANOVA calculator that runs the test and formats the APA sentence + table for you — statmate.org/calculators/two-way-anova. No signup needed to use it.&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>How to Report a One-Way ANOVA in APA 7th Edition (with Worked Example)</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Sat, 01 Aug 2026 07:55:14 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/how-to-report-a-one-way-anova-in-apa-7th-edition-with-worked-example-5c6n</link>
      <guid>https://dev.to/ahnhyeongkyu/how-to-report-a-one-way-anova-in-apa-7th-edition-with-worked-example-5c6n</guid>
      <description>&lt;p&gt;A one-way ANOVA answers whether means differ across 3+ independent groups. Here's the APA 7th edition write-up format, copy-paste ready.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overall model:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A one-way ANOVA was conducted to compare [DV] across [k] groups. There was a statistically significant effect, &lt;em&gt;F&lt;/em&gt;(df_between, df_within) = X.XX, &lt;em&gt;p&lt;/em&gt; = .XXX, η² = .XX.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Post-hoc (if significant):&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tukey's HSD post-hoc comparisons indicated that &lt;a href="//M%20=%20X.XX,%20SD%20=%20X.XX"&gt;Group A&lt;/a&gt; scored significantly higher than &lt;a href="//M%20=%20X.XX,%20SD%20=%20X.XX"&gt;Group B&lt;/a&gt;, p = .XXX.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Non-significant:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There was no statistically significant effect of [IV] on [DV], &lt;em&gt;F&lt;/em&gt;(df1, df2) = X.XX, &lt;em&gt;p&lt;/em&gt; = .XXX.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Rules worth remembering: report eta-squared (η²) or partial eta-squared as the effect size, not just p; always report both between- and within-group df; run post-hoc tests only when the omnibus F is significant, and correct for multiple comparisons (Tukey, Bonferroni, or Games-Howell if variances are unequal).&lt;/p&gt;

&lt;p&gt;If you'd rather generate these numbers from your own data than compute them by hand, the free &lt;a href="https://statmate.org/calculators/anova" rel="noopener noreferrer"&gt;StatMate ANOVA calculator&lt;/a&gt; runs the omnibus test, post-hoc comparisons, and effect size, and formats the output in this exact style.&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
    <item>
      <title>Choosing the Right Statistical Test: A Practical Decision Guide (t-test, ANOVA, Chi-square, Mann-Whitney, Kruskal-Wallis)</title>
      <dc:creator>Ahnhyeongkyu</dc:creator>
      <pubDate>Wed, 29 Jul 2026 07:20:32 +0000</pubDate>
      <link>https://dev.to/ahnhyeongkyu/choosing-the-right-statistical-test-a-practical-decision-guide-t-test-anova-chi-square-ci</link>
      <guid>https://dev.to/ahnhyeongkyu/choosing-the-right-statistical-test-a-practical-decision-guide-t-test-anova-chi-square-ci</guid>
      <description>&lt;p&gt;Picking the wrong statistical test is one of the most common mistakes in thesis and research writing. Here's a quick decision framework:&lt;/p&gt;

&lt;p&gt;1) What's your outcome variable? Continuous → parametric family (t-test/ANOVA) if roughly normal, otherwise rank-based (Mann-Whitney/Kruskal-Wallis). Categorical → Chi-square or Fisher's exact (use Fisher's when any expected cell count &amp;lt; 5).&lt;/p&gt;

&lt;p&gt;2) How many groups? 2 groups → t-test (independent or paired) or Mann-Whitney. 3+ groups → ANOVA or Kruskal-Wallis, followed by a post-hoc test if the omnibus result is significant.&lt;/p&gt;

&lt;p&gt;3) Repeated measures on the same subjects? Use paired/repeated-measures variants (paired t-test, repeated-measures ANOVA, Friedman) instead of independent-sample versions — treating repeated measures as independent samples is a common validity error reviewers flag.&lt;/p&gt;

&lt;p&gt;4) Report effect size, not just p-values. APA style expects Cohen's d, eta-squared, or r alongside the test statistic — a p-value alone doesn't tell a reader how large the effect is.&lt;/p&gt;

&lt;p&gt;If you want to run these without setting up R/SPSS, statmate.org has free versions of all of the above (calculator-only, no signup for the calculation itself).&lt;/p&gt;

</description>
      <category>statmate</category>
    </item>
  </channel>
</rss>
