univariate P's for anova.manylm
Opened this issue · 0 comments
johnWilshire commented
Originally in an email from David to Julian, will close if fixed
This is a weird one in the C code.
For the below design, there are 3 reps in 2 treatments, so when using resampling the smallest P-value you should be able to get is 1/10 (10 possible permutations of 6 obs in 2 treatments). But the univariate P-value for the second response is 0.002.
My guess is that there is some floating point error in the code – we should be using statements like
t*>t-eps
rather than t*>=t
but perhaps in the code for univariate P-values this isn’t happening?
library(mvabund)
load("kos_bug.RData")
kos2
kosFac
# fitting a linear model to log-transformed proportions:
prop.mva = kos2.mva/kosFac$sampleTotals
kos2.lm = manylm(log(prop.mva) ~ condition, data = kosFac)
anova(kos2.lm,p.uni="unadjusted",nBoot=999)
Analysis of Variance Table
Model: manylm(formula = log(prop.mva) ~ condition, data = kosFac)
Overall test for all response variables
Test statistics:
Res.Df Df.diff val(F) Pr(>F)
(Intercept) 5
condition 4 1 282 0.094 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Univariate Tests
Test statistics:
K02014 K00059 K02033 K02034 K07316
F value Pr(>F) F value Pr(>F) F value Pr(>F) F value Pr(>F) F value Pr(>F)
(Intercept)
condition 51.331 0.094 148.638 0.002 44.148 0.094 37.196 0.094 0.643 0.591
Arguments: with 999 resampling iterations using residual (without replacement) resampling and response assumed to be uncorrelated