Descripción del problema: Tengo 14 pelotillas fecales de 6 bate de personas (3 mujeres, 3 hombres). Todos los pellets son aproximadamente de igual tamaño. La composición de las presas (3 tipos: a, B, C) se ha determinado mediante el cálculo del porcentaje de volumen de presa dentro de pellets. Mi objetivo es comparar, mientras que las hembras de comer más de/menos de particular presa de los machos.
my.data <- data.frame(pellet = seq(1,14,1),
individual = rep(c(LETTERS[1:6]), times=c(3,2,4,2,1,2)),
group = rep(c("female","male"), times = c(9, 5)),
prey.A = c(10,20,40,0,0,20,0,10,80,20,40,40,20,10),
prey.B = c(0,0,10,0,0,20,0,0,0,30,30,0,10,0),
prey.C = c(90,80,50,100,100,60,100,90,20,50,30,60,70,90))
# --- custom function start--- #
error.bar <- function(x, y, upper, lower=upper, length=0.1,...){
if(length(x) != length(y) | length(y) !=length(lower) | length(lower) != length(upper))
stop("vectors must be same length")
arrows(x,y+upper, x, y-lower, angle=90, code=3, length=length, ...)
}
# --- custom function end--- #
# data handling
library(psych)
prey_female <- subset(my.data, group == "female")
prey_male <- subset(my.data, group == "male")
female_data <- c(prey_female$prey.A, prey_female$prey.B, prey_female$prey.C)
mtrx.female <- matrix(female_data,9,3)
female.means <- apply(mtrx.female,2,mean)
female.sd <- apply(mtrx.female,2,sd)
male_data <- c(prey_male$prey.A, prey_male$prey.B, prey_male$prey.C)
mtrx.male <- matrix(male_data,5,3)
male.means <- apply(mtrx.male,2,mean)
male.sd <- apply(mtrx.male,2,sd)
yy <- matrix(c(female.means,male.means),2,3,byrow=TRUE)
ee <- matrix(c(female.sd,male.sd),2,3,byrow=TRUE)*1.96/10
# plot creation
barx <- barplot(yy, beside=TRUE,col=c("palevioletred","lightskyblue2"), ylim=c(0,100),
names.arg=LETTERS[1:3], axis.lty=1, xlab="prey", ylab="percetage volume (%)")
error.bar(barx,yy,ee)
Tengo dos soluciones, pero no puedo decidir cual es el más apropiado.
La primera solución es el uso de Wilcoxon-Mann-Whitney para comparar las medianas de los dos grupos. Aquí está la prueba que compara las hembras y los machos con respecto a la presa A.
library(coin)
wilcox_test(c(prey_female$prey.A,prey_male$prey.A) ~ as.factor(c(prey_female$group, prey_male$group)))
# Asymptotic Wilcoxon-Mann-Whitney Test
# data: c(prey_female$prey.A, prey_male$prey.A) by
# as.factor(c(prey_female$group, prey_male$group)) (1, 2)
# Z = -1.1618, p-value = 0.2453
# alternative hypothesis: true mu is not equal to 0
La segunda solución es hacer la prueba de Chi-cuadrado.
chisq.test(c(mean(prey_female$prey.A),mean(prey_male$prey.A)), p = c(1/2,1/2), correct = TRUE)
# Chi-squared test for given probabilities
# data: c(mean(prey_female$prey.A), mean(prey_male$prey.A))
# X-squared = 0.78261, df = 1, p-value = 0.3763
Los datos son inventados, conjunto de datos original es mucho más grande. Cómo hacer la comparación con rigor? A mí me parece que ambos pruebas de respuesta a la misma pregunta.