He preguntado a la gente qué comida prefiere:
choice
group apple orange pizza beer
A 374 63 216 101
B 510 65 125 76
Al parecer, el grupo B prefiere la fruta y el grupo A prefiere la pizza y la cerveza, y una prueba de chi-cuadrado muestra que las diferencias globales entre los grupos son significativas. Pero, ¿cómo puedo comprobar para qué elección individual hay una diferencia significativa entre los grupos?
Por ejemplo, quiero saber si hay una diferencia significativa en la preferencia por las naranjas. Pero creo que no puedo limitarme a subconjuntar las elecciones de naranjas, porque así no tendría en cuenta el número total de participantes por grupo. Es decir, una diferencia entre 1 de A y 2 de B será significativa si sólo he muestreado a tres personas, pero no si son tres entre un millón.
Se pidió a los participantes que eligieran uno de los cuatro alimentos. No podían seleccionar varias respuestas.
¿Cómo puedo comprobarlo?
Mi idea sería sumar las respuestas que no son de color naranja y probar la tabla 2×2 resultante con una prueba de chi-cuadrado:
choice
group orange not orange
A 63 691
B 65 711
orange <- matrix(c(63, 691, 65, 711), 2, 2, TRUE,
list(group = c("A", "B"), choice = c("orange", "not orange"))
)
chisq.test(orange, correct = FALSE)
# p = .9883
o para calcular el porcentaje de respuestas naranjas en cada grupo, considere los dos números como recuentos en una distribución binomial y compruébelo con una prueba binomial:
a <- 63 / (63 + 691)
b <- 65 / (65 + 711)
all <- 63 + 691 + 65 + 711
binom.test(c(round(a * all / (a + b)), round(b * all / (a + b))))
# p = .9796
# just checkin'
all == sum(c(round(a * all / (a + b)), round(b * all / (a + b))))
[1] TRUE
¿O hay una forma mejor, tal vez más común?
Datos de la muestra
food <- c("apple", "orange", "pizza", "beer")
dat <- data.frame(
group = rep(c("A", "B"), c(754, 776)),
choice = c(
rep(food, c(374, 63, 216, 101)),
rep(food, c(510, 65, 125, 76))
)
)
tab <- table(dat)
Explicación del segundo procedimiento
Queremos comparar las respuestas naranjas entre los grupos. Pero si sólo nos fijamos en las respuestas naranjas propiamente dichas, no tenemos en cuenta el hecho de que podrían darse otras respuestas. Así que en lugar de comparar el número absoluto de respuestas naranjas, lo que hacemos es ponderar el número absoluto de respuestas naranjas por su proporción dentro de todas las respuestas de cada grupo. O, en otras palabras, comprobamos si existe una diferencia significativa entre las porcentajes de respuestas naranjas en ambos grupos.
Dada esta tabla de contingencia:
choice
group orange not orange
A 63 691
B 65 711
para el grupo A, el porcentaje de respuestas naranjas es:
a <- 63 / (63 + 691) # 0.08355438 * 100 = 8.36%
y para el grupo B es:
b <- 65 / (65 + 711) # 0.08376289 * 100 = 8.38%
Ya podemos decir que la diferencia de porcentajes es mínima, pero esto es sólo un ejemplo, así que continuemos.
Para comparar los porcentajes, vamos a considerarlos como dos categorías (A y B) en una distribución binomial. Para una prueba binomial, necesitamos un vector de la misma longitud que el número total de respuestas. El número global de respuestas en mi estudio es:
all <- 63 + 691 + 65 + 711
Para calcular la proporción de la distribución binomial que corresponde a los porcentajes de respuestas naranjas en cada grupo, simplemente "escalamos" (es decir, multiplicamos por el mismo factor) ambos porcentajes para que sumen el 100% (de todas las observaciones); es decir, resolvemos el cálculo:
a * x + b * x = all
La resolución, por supuesto es:
x = all / (a + b)
Ahora podemos calcular el número de observaciones de cada categoría:
# for A:
a * all / (a + b)
# for B:
b * all / (a + b)
Por último, redondeamos los posibles números fraccionarios a enteros y realizamos la prueba binomial:
binom.test(c(round(a * all / (a + b)), round(b * all / (a + b))))
que devuelve:
number of successes = 764, number of trials = 1530, p-value = 0.9796
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
0.4739876 0.5247077
sample estimates:
probability of success
0.4993464