Search code examples
rlinear-algebramixed-modelsp-value

How can I report the results from mixed(MODEL) in afex function?


I have done this formula in R:

> mixed3 <- mixed(peak_Mid ~ (1|item) + (1+vowel3|speaker) + sex*vowel3*Language, data=data1.frame, na.action=na.omit)
Fitting 9 (g)lmer() models:
[.........]
Obtaining 8 p-values:
[Note: method with signature ‘sparseMatrix#ANY’ chosen for function ‘kronecker’,
 target signature ‘dgCMatrix#ngCMatrix’.
 "ANY#sparseMatrix" would also be valid
........]
> summary(mixed3)
               Effect        stat ndf       ddf F.scaling      p.value      stat.U ndf.U     ddf.U F.scaling.U    p.value.U
1         (Intercept) 9500.922104   1  70.40672 1.0000000 7.529698e-77 9500.922104     1  70.40672          NA 7.529698e-77
2                 sex   15.980281   1  71.52842 1.0000000 1.538529e-04   15.980281     1  71.52842          NA 1.538529e-04
3              vowel3    8.596702   2  27.40531 0.9916348 1.264905e-03    8.669222     2  27.40531          NA 1.209863e-03
4            Language    3.996819   2  70.74337 0.9909675 2.267036e-02    4.033250     2  70.74337          NA 2.194066e-02
5          sex:vowel3    1.746398   2  75.92257 0.9870432 1.813334e-01    1.769323     2  75.92257          NA 1.774036e-01
6        sex:Language    4.136050   2 170.78334 0.9964821 1.761500e-02    4.150652     2 170.78334          NA 1.737140e-02
7     vowel3:Language    1.573332   4  66.15951 0.9799283 1.917146e-01    1.605559     4  66.15951          NA 1.832701e-01
8 sex:vowel3:Language    1.239002   4 195.29430 0.9894859 2.956981e-01    1.252168     4 195.29430          NA 2.903144e-01

However, I am not sure what are stat, ndf, ddf, F.scaling, p.value. Could I ask how I can report the statistical results from this output? And why on the right side of the output, there is '.U' at the end of the head of columns and the numbers are similar to the left?


Solution

  • This is in a bit of a gray area, but it might be somewhere between a statistical question and a programming question.

    • Effect: name of effect
    • stat: computed F statistic
    • ndf: numerator degrees of freedom (number of parameters used for the effect)
    • ddf: denominator degrees of freedom (effective residual degrees of freedom for testing the effect), computed from the Kenward-Roger correction using pbkrtest::KRmodcomp
    • F.scaling: scaling of F-statistic computing from K-R
    • p.value: K-R estimated p-value

    The Kenward-Roger correction does two separate things: (1) it computes an effective number for the denominator df; (2) it scales the statistic by a calculated amount. I think (but am not sure) that the .U variants of these columns are (I think) the equivalent metrics computed without scaling.

    You'll notice that the .U versions are almost identical to the first set of values; this is in large part true because the denominator degrees of freedom are all large (e.g. >50) -- the largest differences are noticed when the ddf are only 27.4 ("vowel3" effect). With such large ddf it hardly matters what value you use -- you'd get the same answer from a likelihood ratio test.

    For more information, I needed to dig in quite far -- this doesn't seem to be documented. The original computations are in pbkrtest::.KR_adjust; as far as I can tell, the ndf.U and ddf.U parameters are actually identical to their non-.U counterparts, and the F.scaling.U is always NA; it's only the statistic and p-value that are different (and they will be very similar to the extent that F.scaling is close to 1 ...)

    I might e-mail the maintainer to suggest some minor adjustments to the output and documentation (i.e. ndf.U, ddf.U and F.scaling.U columns should probably be suppressed; the others could be documented better) ...