mixed(Model,randomvars[,marg:T] [,restrict:F] [,nonhier:T] [,useneg:T]\ [,pvals:F] [,fstat:T] [,print:F]), CHARACTER scalar model, CHARACTER vector randomvars mixed(emsResult [,useneg:T] [,print:F] [,fstat:T] [,print:F]), emsResult a structure returned by ems() with keep:T |
mixed(Model, randomvars) computes and prints an "ANOVA" table appropriate for the model and random factors given in CHARACTER scalar Model and CHARACTER vector randomvars. These arguments are exactly the same as for ems(). You can also use ems() keywords 'marg', 'restrict' and 'nonhier'. mixed(emsResult), where emsResult has been computed by emsResult <- ems(Model, randomvars [,...],keep:T), does the same. In both cases mixed() returns a matrix containing the same information as printed, but as an "invisible" variable that may be assigned (result <- mixed(Model, randomvars) but is not automatically printed. The matrix has appropriately labeled rows and columns. mixed(Model, randomvars, print:F) and mixed(emsResult, print:F) return the ANOVA table as a "visible" matrix without printing it. For backward compatibility with an earlier version, you can used 'keepmixed:T' instead of 'print:F'. The ANOVA table has one row for each term in the model and the following columns in addition to labels for each term. Col. 1 DF = degrees of freedom for term Col. 2 MS = mean square for term (numerator of F) Col. 3 Error DF = appropriate denominator degrees of freedom for F Col. 4 Error MS = appropriate denominator mean square for F Col. 5 F = F-statistic = MS/(Error MS) Col. 6 P value = tail probability for F test Numerator and denominator MS's are linear combinations of mean squares whose expectations differ only by a multiple of the variance component associated with the line. When the numerator or denominator is not a simple ANOVA mean square, its degrees of freedom are found using the Satterthwaite approximation. By default, only linear combinations of mean squares with positive coefficients are used. This means that the numerator for a term may be the sum of the mean square for the term and one or more mean squares from other terms. If the keyword useneg:T is used, then the numerator for a term will be the mean square for that term, and denominators may contain differences as well as sums of mean squares. Example. Three populations, all crosses between 4 males and 4 females in each population with six offspring from each mating randomly assigned to three environments. Male and female are random. First the simple ANOVA. Cmd> anova("y=(pop+m.pop+f.pop+m.f.pop)*env") Model used is y=(pop+m.pop+f.pop+m.f.pop)*env DF SS MS CONSTANT 1 5.4299 5.4299 pop 2 2091.4 1045.7 pop.m 9 112.5 12.5 pop.f 9 370.02 41.113 pop.m.f 27 56.774 2.1027 env 2 206.15 103.08 pop.env 4 0.16527 0.041316 pop.m.env 18 3.4185 0.18992 pop.f.env 18 8.2354 0.45752 pop.m.f.env 54 17.117 0.31698 ERROR1 144 30.448 0.21144 Now compute the expected mean squares, and keep the ems() output. Cmd> emsstuff<-ems("y=(pop+m.pop+f.pop+m.f.pop)*env",vector("m","f"), keep:T,print:T) EMS(CONSTANT) = V(ERROR1) + 6V(pop.m.f) + 24V(pop.f) + 24V(pop.m) + 288Q(CONSTANT) EMS(pop) = V(ERROR1) + 6V(pop.m.f) + 24V(pop.f) + 24V(pop.m) + 96Q(pop) EMS(pop.m) = V(ERROR1) + 6V(pop.m.f) + 24V(pop.m) EMS(pop.f) = V(ERROR1) + 6V(pop.m.f) + 24V(pop.f) EMS(pop.m.f) = V(ERROR1) + 6V(pop.m.f) EMS(env) = V(ERROR1) + 2V(pop.m.f.env) + 8V(pop.f.env) + 8V(pop.m.env) + 96Q(env) EMS(pop.env) = V(ERROR1) + 2V(pop.m.f.env) + 8V(pop.f.env) + 8V(pop.m.env) + 32Q(pop.env) EMS(pop.m.env) = V(ERROR1) + 2V(pop.m.f.env) + 8V(pop.m.env) EMS(pop.f.env) = V(ERROR1) + 2V(pop.m.f.env) + 8V(pop.f.env) EMS(pop.m.f.env) = V(ERROR1) + 2V(pop.m.f.env) EMS(ERROR1) = V(ERROR1) Now use mixed(). Cmd> mixed(emsstuff) DF MS Error DF Error MS F P value CONSTANT 1.914 7.533 14.01 53.61 0.1405 0.8617 pop 2.008 1048 14.01 53.61 19.54 8.745e-05 pop.m 9 12.5 27 2.103 5.945 0.0001412 pop.f 9 41.11 27 2.103 19.55 1.242e-09 pop.m.f 27 2.103 144 0.2114 9.945 0 env 2.012 103.4 30.75 0.6474 159.7 0 pop.env 56.12 0.3583 30.75 0.6474 0.5534 0.9729 pop.m.env 18 0.1899 54 0.317 0.5991 0.8844 pop.f.env 18 0.4575 54 0.317 1.443 0.1496 pop.m.f.env 54 0.317 144 0.2114 1.499 0.03044 ERROR1 144 0.2114 0 0 MISSING MISSING The test for environment should be (MS(env)+MS(m.f.env))/(MS(m.env)+MS(f.env)) = (103.08+.32)/(.190+.458) = (103.4)/(.6474) = 159.7 as reported in the table. See also ems(), reml().