¿Algo así?
¿O buscaba algún intervalo para la mediana, como el que se obtiene con los boxplots con muescas (pero adaptado a una comparación de una muestra, naturalmente)?
He aquí un ejemplo de ello:
Esto utiliza el intervalo sugerido en McGill et al (el que aparece en las referencias de ?boxplot.stats
). En realidad, se podrían utilizar muescas, pero eso podría aumentar la posibilidad de que se interpretara como un boxplot ordinario con muescas.
Por supuesto, si se necesita algo que replique más directamente la prueba de rango con signo, se pueden construir varias cosas que lo hagan, que incluso podrían incluir el intervalo para la pseudo-mediana (es decir, la estimación de localización de Hodges-Lehmann de una muestra, la mediana de las medias por pares).
Sí, es cierto, wilcox.test
puede generar la información necesaria para nosotros, así que esto es sencillo:
> wilcox.test(pd,mu=1.1,conf.int=TRUE)
Wilcoxon signed rank test
data: pd
V = 72, p-value = 0.5245
alternative hypothesis: true location is not equal to 1.1
95 percent confidence interval:
0.94 1.42
sample estimates:
(pseudo)median
1.1775
y esto también se puede trazar:
[La razón por la que el intervalo del boxplot es más amplio es que el error estándar de una mediana en la normalidad (que es la suposición que subyace al cálculo basado en la IQR) tiende a ser mayor que el de una pseudomediana cuando los datos son razonablemente normales].
Y, por supuesto, uno podría querer añadir los datos reales al gráfico:
Valor Z
R utiliza la suma de los rangos positivos como su estadística de prueba (no es la misma estadística que se discute en la página de Wikipedia sobre la prueba).
Hollander y Wolfe dan la media de la estadística como $n(n+1)/4$ y la varianza como $n(n+1)(2n+1)/24$ .
Por lo tanto, para sus datos, se trata de una media de 60 y una desviación estándar de 17,61 y un valor z de 0,682 (ignorando la corrección de continuidad)
El código que utilicé para generar el cuarto gráfico (a partir del cual también se pueden hacer los anteriores omitiendo las partes innecesarias) es un poco tosco (es sobre todo específico para la pregunta, en lugar de ser una función de trazado general), pero supuse que alguien podría quererlo:
notch1len <- function(x) {
stats <- stats::fivenum(x, na.rm = TRUE)
iqr <- diff(stats[c(2, 4)])
(1.96*1.253/1.35)*(iqr/sqrt(sum(!is.na(x))))
}
w <- notch1len(pd)
m <- median(pd)
boxplot(pd,horizontal=TRUE,boxwex=.4)
abline(v=1.1,col=8)
points(c(m-w,m+w),c(1,1),col=2,lwd=6,pch="|")
ci=wilcox.test(pd,mu=1.1,conf.int=TRUE)$conf.int #$
est=wilcox.test(pd,mu=1.1,conf.int=TRUE)$estimate
stripchart(pd,pch=16,add=TRUE,at=0.7,cex=.7,method="jitter",col=8)
points(c(ci,est),c(0.7,0.7,0.7),pch="|",col=4,cex=c(.9,.9,1.5))
lines(ci,c(0.7,0.7),col=4)
Puede que vuelva y publique más código funcional más adelante.