8 votos

Trazado bares de intervalo de confianza de las estadísticas de Resumen

Un poco como un diagrama de caja. No me refiero necesariamente a la norma superior del intervalo de confianza inferior del intervalo de confianza, promedio y rango de datos-mostrando los diagramas de caja, pero quiero decir, como un diagrama de caja con las tres piezas de datos: el 95% de intervalo de confianza y la media.

Esta es una captura de pantalla de un artículo de revista, que tenía exactamente lo que quiero: enter image description here

También me gustaría saber cómo me gustaría utilizar el software de la contestadora de menciones para crear una trama.

14voto

Nick Sergeant Puntos 3792

Mira si esto te ayuda. Solución de R:

par(mfrow=c(2,1)) # to stack the charts on column

#Dataset 1

upperlimit = c(10,12,8,14)
lowerlimit = c(5,9,4,7)
mean = c(8,10,6,12)

df = data.frame(cbind(upperlimit,lowerlimit,mean))

plot(df$mean, ylim = c(0,30), xlim = c(1,4))

install.packages("plotrix")
require(plotrix)
plotCI(df$mean,y=NULL, uiw=df$upperlimit-df$mean, liw=df$mean-df$lowerlimit, err="y",      pch=20, slty=3, scol = "black", add=TRUE)

#Dataset 2

upperlimit_2 = upperlimit*1.5
lowerlimit_2 = lowerlimit*0.8
mean_2 = upperlimit_2-lowerlimit_2

df_2 = data.frame(cbind(upperlimit_2,lowerlimit_2,mean_2))

plot(df$mean_2, ylim = c(0,30), xlim = c(1,4))

plotCI(df_2$mean_2,y=NULL, uiw=df_2$upperlimit_2-df_2$mean_2, liw=df_2$mean_2-   df_2$lowerlimit_2, err="y", pch=20, slty=3, scol = "black", add=TRUE)

rm(upperlimit,lowerlimit,mean,df,upperlimit_2,lowerlimit_2,mean_2,df_2) #remove the objects stored from workspace

par(mfrow=c(1,1)) # go back to default (one graph at a time)

enter image description here

9voto

Krishna Thota Puntos 115

En MATLAB, es posible que desee probar el errorbar función: http://www.mathworks.de/de/help/matlab/ref/errorbar.html

Alternativamente, usted puede hacer el tonto y de forma manual. Por ejemplo, dada una matriz de datos de los puntos "a", se puede calcular su significa usar la función m = mean(a), calcular el CIs (dependiendo de lo que CI necesita), y registrar los resultados a mano.

Demostración si usted ya conoce la media y la CI, asumiendo la Cei están en una matriz de CI (primera y segunda columna) y los medios están en una matriz de un:

plot(1:length(CI),a,'o','markersize', 10)           % plot the mean
hold on;
plot(1:length(CI),CI(1,:),'v','markersize', 6)              % plot lower CI boundary
hold on;
plot(1:length(CI),CI(2,:),'^','markersize', 6)              % plot upper CI boundary
hold on;

for I = 1:length(CI)                                        % connect upper and lower bound with a line
line([I I],[CI(1,I) CI(2,I)])
hold on;
end;

axis([0 length(CI)+1 min(CI(1,:))*0.75 max(CI(2,:))*1.25])  % scale axis

Demostración en el caso donde se sabe que las mediciones individuales, para medidas repetidas experimento, 3+ condiciones, una condición por la columna, un tema cada línea de la matriz a, no faltan muestras, 95% CI como por MATLAB del prueba.t():

[H,P,CI] = ttest(a);                                        % calculate 95% CIs for every column in matrix a
                                                            % CIs are now in the matrix CI!

plot(1:length(CI),[mean(a)],'o','markersize', 10)           % plot the mean
hold on;
plot(1:length(CI),CI(1,:),'v','markersize', 6)              % plot lower CI boundary
hold on;
plot(1:length(CI),CI(2,:),'^','markersize', 6)              % plot upper CI boundary
hold on;

for I = 1:length(CI)                                        % connect upper and lower bound with a line
line([I I],[CI(1,I) CI(2,I)])
hold on;
end;

axis([0 length(CI)+1 min(CI(1,:))*0.75 max(CI(2,:))*1.25])  % scale axis

7voto

Brettski Puntos 5485

Este tipo de trama en R usando ggplot2, aunque usted tenga que hacer algunos retoques con el tamaño de fuente del eje:

library(ggplot2)
data.estimates = data.frame(
  var   = c('1', '2', '3', '4', '5', '6', '7', '8', '9'),
  par = c(1.12210,0.18489,1.22011,1.027446235,0.43521,0.53464,1.93316,-0.43806,-0.12029),
  se = c(0.42569,0.32162,0.58351,0.771608551,0.24803,0.65372,0.92717,0.45939,0.51558))
data.estimates$idr <- exp(data.estimates$par)
data.estimates$upper <- exp(data.estimates$par + (1.96*data.estimates$se))
    data.estimates$lower <- exp(data.estimates$par - (1.96*data.estimates$se))

p2 <- ggplot(hospital.estimates, aes(var,idr, size=10)) + theme_bw(base_size=10))
p2 + geom_point() +geom_errorbar(aes(x = var, ymin = lower, ymax = upper, size=2), width = 0.2) + scale_y_log10(limits=c(0.1, 50), breaks=c(0.1, 0.5, 1, 5, 10, 25, 50)) + xlab("Site") + ylab("RR")

enter image description here

2voto

Nick Cox Puntos 22819

En uso de Stata serrbar o ciplot (SSC) o eclplot (Stata Journal, SSC).

1voto

GraphPad Prism puede hacer fácilmente este tipo de gráfico, trazado barras de error de los valores de error que entrar. Crear una tabla agrupada con formato de entery de media, - error y + error.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X