d.- Contrastes poshoc
OBJETIVO
LLeva a cabo contrastes pos-hoc par a par, para los efectos principales así como efectos simples (interacción). Además permite realizar contrastes ortogonales definidos por el usuario o de tendencia para el factor de efecto fijo seleccionado.
Contrastes
Partimos del Anova multifactorial Split-plot y deseamos llevar a cabo contrastes pos-hoc para los efectos significativos de la tabla resumen de anova: hora y la interacción treatment:fase
Anova.fnc(datos, fac.inter=fac.inter, tipo=2,
fac.intra=fac.intra, col.empieza.mr=3,
poshoc=c('hora','treatment:fase'))
Añadimos el argumento poshoc, indicando en su interior los nombres de los efectos para los que deseamos los contrastes pos-hoc, separados por el caracter coma (,). Observa que el nombre de la interacción está entre apóstrofes y los factores que la componen están separados por el caracter dos puntos (:).
El usuario puede solicitar asimismo contrastes pos-hoc para interacciones triples y cudruples, con el mismo argumento (poshoc) simplemente indicando la interacción que desea contrastar (Ej. 'treatment:gender:fase').
Anova.fnc(datos, fac.inter=fac.inter, tipo=2,
fac.intra=fac.intra, col.empieza.mr=3,
poshoc='gender:treatment:fase')
Contrastes Ortogonales
DEFINIDOS POR EL USUARIO
Vamos a crear una familia ortogonal para el factor de efecto fijo treatment. Lo haremos mediante una lista que contendrá el nombre y el vector de pesos para cada uno de los J-1 contrastes ortogonales de la familia.
mis.contrastes= list( cont.vs.AB =c(-2,1,1), A.vs.B = c(0,1,-1))
En el primer contraste cont.vs.AB queremos comparar el grupo control contra los grupos tratados A y B. En el segundo (A.vs.B ortogonal al primero) queremos comparar los grupos tratados A vs. B.
Las etiquetas de cada contraste son arbitrarias pero obviamente será de gran utilidad que guarden relación con las comparaciones que realizan.
Anova.fnc(datos, fac.inter=fac.inter, tipo=2,
fac.intra=fac.intra, col.empieza.mr=3,
poshoc='treatment',
contrastes=mis.contrastes)
#------------------------------------------------------------------
# Contrastes Poshoc
#------------------------------------------------------------------
$poshoc
$poshoc$treatment
contrast estimate SE df t.ratio p.value
control - A -2.0277778 0.8347673 10 -2.429 0.0710
control - B -1.8055556 0.7338014 10 -2.461 0.0710
A - B 0.2222222 0.7757662 10 0.286 0.7804
Results are averaged over the levels of: gender, fase, hora
P value adjustment: hochberg method for 3 tests
También podrías haber solicitado esa misma familia ortogonal para el contraste del factor treatment en cada nivel de fase.
Anova.fnc(datos, fac.inter=fac.inter, tipo=2,
fac.intra=fac.intra, col.empieza.mr=3,
poshoc='treatment:fase',
contrastes=mis.contrastes)
#------------------------------------------------------------------
# Contrastes Poshoc
#------------------------------------------------------------------
$poshoc
$poshoc$`contrastes:treatment`
cont.vs.AB A.vs.B
control -2 0
A 1 1
B 1 -1
$poshoc$treatment
fase = antes:
contrast estimate SE df t.ratio p.value
cont.vs.AB 0.66666667 1.4657780 13.2 0.455 0.6566
A.vs.B 0.83333333 0.8318002 13.2 1.002 0.6566
fase = despues:
contrast estimate SE df t.ratio p.value
cont.vs.AB 4.95833333 1.4657780 13.2 3.383 0.0096
A.vs.B -0.12500000 0.8318002 13.2 -0.150 0.8828
fase = seguimiento:
contrast estimate SE df t.ratio p.value
cont.vs.AB 5.87500000 1.4657780 13.2 4.008 0.0029
A.vs.B -0.04166667 0.8318002 13.2 -0.050 0.9608
Results are averaged over the levels of: gender, hora
P value adjustment: hochberg method for 2 tests
Puedes probar el resultado de intentar realizar estos contrastes incorrectos:
1.- El segundo contraste A.vs.B no tiene 3 pesos.
contrastes= list(cont.vs.AB =c(-2,1,1), A.vs.B = c(1,-1))
2.- El primer contraste cont.vs.AB no suma cero.
contrastes= list(cont.vs.AB =c(2,1,1), A.vs.B = c(0,1,-1))
CONTRASTE DE TENDENCIAS
En la tabla resumen del Anova Split-plot realizado podemos ver que el factor hora ha resultado significativo (p < 0.001). Dado que se trata de una variable cuantitativa equi-espaciada temporalmente podemos plantearnos un análisis de tendencia para este efecto. Para ello debemos indicar en el argumento contrastes el valor 'tendencia'.
Anova.fnc(datos, fac.inter=fac.inter, tipo=2,
fac.intra=fac.intra, col.empieza.mr=3,
poshoc='hora', contrastes='tendencia')
#------------------------------------------------------------------
# Contrastes Poshoc
#------------------------------------------------------------------
$poshoc
$poshoc$`tendencia.en:hora`
contrast estimate SE df t.ratio p.value
linear -0.02777778 0.6179893 140 -0.045 0.9642
quadratic -4.94444444 0.7312148 140 -6.762 <.0001
cubic -0.98611111 0.6179893 140 -1.596 0.2256
quartic 5.85648148 1.6350460 140 3.582 0.0014
Results are averaged over the levels of: treatment, gender, fase
P value adjustment: hochberg method for 4 tests
Al igual que en los contrastes ortogonales anteriores puedes poner a prueba los contrastes de tendencia de el factor de medidas repetidas hora en cada nivel del factor gender.
Anova.fnc(datos, fac.inter=fac.inter, tipo=2,
fac.intra=fac.intra, col.empieza.mr=3,
poshoc='hora:gender', contrastes='tendencia')
#------------------------------------------------------------------
# Contrastes Poshoc
#------------------------------------------------------------------
$poshoc
$poshoc$`tendencia.en:hora:gender`
gender = F:
contrast estimate SE df t.ratio p.value
linear 0.2222222 0.8889096 140 0.250 0.8030
quadratic -5.6111111 1.0517720 140 -5.335 <.0001
cubic -1.4166667 0.8889096 140 -1.594 0.2265
quartic 6.5277778 2.3518336 140 2.776 0.0188
gender = M:
contrast estimate SE df t.ratio p.value
linear -0.2777778 0.8587682 140 -0.323 0.7468
quadratic -4.2777778 1.0161083 140 -4.210 0.0002
cubic -0.5555556 0.8587682 140 -0.647 0.7468
quartic 5.1851852 2.2720871 140 2.282 0.0720
Results are averaged over the levels of: treatment, fase
P value adjustment: hochberg method for 4 tests
$poshoc$`tendencia.en:gender:hora`
hora = 1:
contrast estimate SE df t.ratio p.value
linear 1.4074074 0.7283262 16.78 1.932 0.0704
hora = 2:
contrast estimate SE df t.ratio p.value
linear 1.4259259 0.7283262 16.78 1.958 0.0671
hora = 3:
contrast estimate SE df t.ratio p.value
linear 0.9166667 0.7283262 16.78 1.259 0.2254
hora = 4:
contrast estimate SE df t.ratio p.value
linear 0.9814815 0.7283262 16.78 1.348 0.1957
hora = 5:
contrast estimate SE df t.ratio p.value
linear 1.3796296 0.7283262 16.78 1.894 0.0756
Results are averaged over the levels of: treatment, fase