Ésta es la salida normal de la prueba:pairwise.wilcox.test - Salida de reformateo
attach(airquality)
pw <- pairwise.wilcox.test(Ozone, Month, p.adj = "bonf")
pw
data: Ozone and Month
May Jun Jul Aug
Jun 1.0000 - - -
Jul 0.0003 0.1414 - -
Aug 0.0012 0.2591 1.0000 -
Sep 1.0000 1.0000 0.0074 0.0325
Hace poco tuvieron que realizar una prueba con 10 niveles de un factor. Si bien el formato triangular inferior de pairwise.wilcox.test es útil y conciso, pensé que sería conveniente organizarlo de manera similar a la salida de Tukey HSD, donde cada combinación de pares se enumera junto con su valor de p asociado. Este fue mi intento de hacer esto:
pw.df <- as.data.frame(pw$p.value)
pw.diff <- vector("character")
pw.pval <- vector("numeric")
for (i in 1:ncol(pw.df))
for (j in i:length(pw.df)) {
pw.diff <- c(pw.diff,paste(colnames(pw.df[i]),"-",rownames(pw.df)[j]))
pw.pval <- c(pw.pval,pw.df[j,i])
}
# order them by ascending p value
v <- order(pw.pval,decreasing = F)
pw.df <- data.frame(pw.diff[v],pw.pval[v])
# display those that are significant at the 5% level
pw.df[pw.df$pw.pval<0.05,]
pw.diff.v. pw.pval.v.
1 May - Jul 0.000299639
2 May - Aug 0.001208078
3 Jul - Sep 0.007442604
4 Aug - Sep 0.032479550
Si alguien tiene alguna consejos/trucos/consejos sobre cómo hacer esto más fácil y/o más elegante Le agradecería.
Eso es grande. Gracias :) –