Skip to content

Doing Oneway ANOVAs :Designing, Running, and Analyzing Experiments(Interaction Design Specialization) Answers 2026

Q1. Number of stroke alphabets

Command:

length(unique(data$Alphabet))

πŸ‘‰ Look at the single number printed in console
πŸ‘‰ Enter that number
πŸ‘‰ This equals the total number of stroke alphabets compared


Q2. Average WPM for EdgeWrite

Command:

mean(data$WPM[data$Alphabet == "EdgeWrite"])

πŸ‘‰ R prints one numeric value
πŸ‘‰ Round to 2 decimal places
πŸ‘‰ Enter that rounded value

Example:

12.3467 β†’ 12.35

Q3. Shapiro-Wilk tests (by Alphabet)

Command:

by(data$WPM, data$Alphabet, shapiro.test)

You will see one test per alphabet, each showing:

W = ...
p-value = ...

πŸ‘‰ For each alphabet:

  • p < 0.05 β†’ ❌ Violates normality

  • p β‰₯ 0.05 β†’ βœ… Does NOT violate normality

πŸ‘‰ In the quiz, tick only those alphabets with p < 0.05
πŸ‘‰ If none are < 0.05 β†’ choose β€œNone of the above”


Q4. Shapiro-Wilk test on residuals

Commands:

model <- aov(WPM ~ Alphabet, data = data)
shapiro.test(residuals(model))

Output:

W = ...
p-value = ...

πŸ‘‰ Copy p-value only
πŸ‘‰ Round to 4 decimal places


Q5. Brown–Forsythe test (equal variances)

Command:

leveneTest(WPM ~ Alphabet, data = data, center = median)

Output table includes:

Df F value Pr(>F)

πŸ‘‰ Enter Pr(>F)
πŸ‘‰ Round to 4 decimal places

Decision rule (for understanding):

  • p < 0.05 β†’ variances unequal

  • p β‰₯ 0.05 β†’ variances equal


Q6. Oneway ANOVA

Command:

summary(aov(WPM ~ Alphabet, data = data))

You’ll see a table like:

Df Sum Sq Mean Sq F value Pr(>F)
Alphabet 2 ...
Residuals xx ...

πŸ‘‰ Enter the F value
πŸ‘‰ Round to 2 decimal places


Q7. Tukey + Holm (Unistrokes vs Graffiti)

Commands:

post <- glht(fit, linfct = mcp(Alphabet = "Tukey"))
summary(post, test = adjusted("holm"))

Output shows rows like:

Unistrokes - Graffiti Estimate Std.Error z value Pr(>|z|)

πŸ‘‰ Find Unistrokes βˆ’ Graffiti
πŸ‘‰ Copy Pr(>|z|)
πŸ‘‰ Round to 4 decimal places


Q8. Significant pairwise differences

Using Q7 results:

πŸ‘‰ Any comparison with:

adjusted p < 0.05

βœ… is significant

πŸ‘‰ Tick only those pairs
πŸ‘‰ If none < 0.05 β†’ choose β€œNone of the above”


Q9. Kruskal-Wallis test

Command:

kruskal_test(WPM ~ Alphabet,
data = data,
distribution = "asymptotic")

Output:

p-value = ...

πŸ‘‰ Copy p-value
πŸ‘‰ Round to 4 decimal places


Q10. Mann-Whitney + Holm

Command:

p.adjust(c(p1, p2, p3), method = "holm")

Output:

[1] 0.xxx 0.xxx 0.xxx

πŸ‘‰ Values are returned in the same order:

  1. Unistrokes vs Graffiti

  2. Unistrokes vs EdgeWrite

  3. Graffiti vs EdgeWrite

πŸ‘‰ Take first value
πŸ‘‰ Round to 4 decimal places


🧾 FINAL SUMMARY TABLE (Ready to Fill)

Question Analysis / Test Answer to Enter Key Concept
Q1 Unique Alphabet count (number) Number of groups
Q2 Mean WPM (EdgeWrite) xx.xx Central tendency
Q3 Shapiro-Wilk (by group) List alphabets with p<0.05 Normality
Q4 Shapiro-Wilk (residuals) p = xxxx Model assumption
Q5 Brown-Forsythe p = xxxx Equal variances
Q6 Oneway ANOVA F = xx.xx Group mean differences
Q7 Tukey + Holm p = xxxx Multiple comparisons
Q8 Significant pairs Tick pairs with p<0.05 Post-hoc inference
Q9 Kruskal-Wallis p = xxxx Nonparametric ANOVA
Q10 Mann-Whitney + Holm p = xxxx Nonparametric post-hoc