Open r-de-r opened 2 years ago
in function 'anova' line 4 Z̄ = mean(Z̄ᵢ) is wrong. It must be Z̄ = sum(Z̄ᵢ .* Nᵢ) / sum(Nᵢ).
Z̄ = mean(Z̄ᵢ)
Z̄ = sum(Z̄ᵢ .* Nᵢ) / sum(Nᵢ).
As a result, function using 'anova', ie. OneWayANOVATest, LeveneTest, FlignerKilleenTest are wrong, too.
OneWayANOVATest
LeveneTest
FlignerKilleenTest
function anova(scores::AbstractVector{<:Real}...) Nᵢ = [length(g) for g in scores] Z̄ᵢ = mean.(scores) # Z̄ = mean(Z̄ᵢ) Z̄ = sum(Z̄ᵢ .* Nᵢ) / sum(Nᵢ) SStᵢ = Nᵢ .* (Z̄ᵢ .- Z̄).^2 SSeᵢ = sum.( (z .- z̄).^2 for (z, z̄) in zip(scores, Z̄ᵢ) ) (Nᵢ, SStᵢ, SSeᵢ) end
BrownForsytheTest is wrong, too.
Duplicate #242
The solution proposed by @wildart at #242 is more efficient. Anybody willing to make a PR, with a test?
in function 'anova' line 4
Z̄ = mean(Z̄ᵢ)
is wrong. It must beZ̄ = sum(Z̄ᵢ .* Nᵢ) / sum(Nᵢ).
As a result, function using 'anova', ie.
OneWayANOVATest
,LeveneTest
,FlignerKilleenTest
are wrong, too.