La respuesta probablemente incluiría repetir esta entrada tratar la resistencia de la prueba de ji cuadrado incluso cuando los recuentos esperados de células son inferiores a 5. Así que la prueba de ji cuadrado puede ser la respuesta, y podría plantearse como una bondad de ajuste (GOF) comparando la distribución de la frecuencia de sujetos "ansiosos" con una distribución uniforme en los 3 grupos.
Sin embargo, es probable que aparezca un mensaje de advertencia al ejecutar la prueba de ji cuadrado. He simulado el conjunto de datos (el código es aquí y también pegado debajo de este párrafo para mayor comodidad. Hubo el mismo número de sujetos que en el grupo de correos original a = 30
, b =20
y c = 5
:
subjects <- c(group_a <- rep("a", 30), group_b <- rep("b", 20), group_c <- rep("c", 5))
sam <- c(sample(c(c(rep("N",25)), c(rep("A",5)))),
sample(c(c(rep("N",10)), c(rep("A",10)))),
c(sample(c("A","N"), 5, replace = T)))
(tab = table(subjects,sam))
sam
subjects A N
a 5 25
b 10 10
c 3 2
El grupo a
se estableció como mucho menos ansioso: 25 N
por "no ansiedad".
El resultado de la prueba fue:
(p_observed = chisq.test(tab, correct = F))
Pearson's Chi-squared test
data: tab
X-squared = 7.9142, df = 2,
$p-value = \color{orange}{0.01912}$
Pero había un mensaje de advertencia:
Warning message:
In chisq.test(tab, correct = F) :
Chi-squared approximation may be incorrect
Así que quería ver si podíamos llegar a un ad hoc permutación prueba, y barajar la A
, N
en todos los sujetos, bajo la hipótesis nula de que no hay diferencias en la distribución de los sujetos ansiosos entre los grupos, y luego realizar una prueba de ji cuadrado en las frecuencias tabuladas resultantes. Haciendo caso omiso de cualquier problema con el pequeño tamaño del grupo 3, y sólo prestando atención al valor p relativo de cada iteración con respecto a las demás, creo que es justo decir que la proporción de permutaciones con un valor p menor que el observado en los datos reales es un valor p exacto - una prueba de Fisher simulada, o, probablemente más exactamente, una prueba de chi cuadrado. prueba de permutación .
Aquí está el código en R, y los resultados:
set.seed(0)
options(warn=0)
(tab = table(subjects,sam))
(p_observed = chisq.test(tab, correct = F))
chisq.test(tab, simulate.p.value = T)
pval <- c(NA, length(sam))
options(warn=-1)
for (i in 1:1e4){
anx <- sample(sam, length(sam), replace = F)
tab <- table(subjects,anx)
pval[i] <- chisq.test(tab, correct = F)$p.value
}
(p_value = mean(pval < p_observed$p.value))
El valor p = $\color{red}{0.0186}$ era inferior al calculado inicialmente con chisq.test
.
Me sorprendió que este valor p fuera también inferior al cálculo mediante simulación Monte Carlo con la función incorporada en R:
chisq.test(tab, simulate.p.value = T)
Pearson's Chi-squared test with simulated p-value (based
on 2000 replicates)
data: tab
X-squared = 7.9142, df = NA, p-value = 0.02099
Tras obtener un resultado significativo, se pueden realizar comparaciones por pares con Corrección de Bonferroni (nivel de significación $0.05 /\text{no.hypotheses} = 0.05 / 3 = \color{blue}{0.0167}$ ). Se pueden obtener directamente con el programa integrado R fisher.test
función:
Entre grupos a
y b
:
fisher.test(tab[1:2,], alternative = "two.sided")
p-value = 0.02546
Entre b
y c
:
fisher.test(tab[2:3,], alternative = "two.sided")
p-value = 1
Y a
y c
:
fisher.test(tab[c(1,3),], alternative = "two.sided")
p-value = 0.06654
Curiosamente, ninguno de los resultados es significativo, debido a la naturaleza conservadora de la prueba de Fisher. Si realizáramos una chisq.test
entre a
y b
- y el tamaño de las muestras claramente lo permitiría, obtendríamos un resultado estadísticamente significativo:
$p-value = \color{green}{0.01174}.$