15 votos

Gráficos alternativos para "manillar" parcelas

En mi área de investigación, una forma popular de la visualización de datos es el uso de una combinación de un gráfico de barras con los "tiradores". Por ejemplo,

enter image description here

Los "tiradores" de alternar entre los errores estándar y desviaciones estándar según el autor. Normalmente, el tamaño de la muestra para cada "barra" son bastante pequeñas - alrededor de las seis.

Estas parcelas parecen ser particularmente popular en ciencias biológicas - ver los primeros papeles de BMC Biology, vol 3 para ejemplos.

Entonces, ¿cómo se presentan estos datos?

Por qué no me gusta de estas parcelas

Personalmente no me gustan estas parcelas.

  1. Cuando el tamaño de la muestra es pequeño, ¿por qué no acaba de mostrar los puntos de datos individuales.
  2. Es la sd o en la se que se muestra? Nadie está de acuerdo que el uso de.
  3. ¿Por qué utilizar barras. Los datos no (por lo general) es de 0, pero un primer paso en el gráfico sugiere que sí.
  4. Los gráficos no dan una idea acerca de rango o tamaño de la muestra de los datos.

R script

Este es el R código que he usado para generar la trama. De esa manera usted puede (si quiere) utilizar los mismos datos.

                                        #Generate the data
set.seed(1)
names = c("A1", "A2", "A3", "B1", "B2", "B3", "C1", "C2", "C3")
prevs = c(38, 37, 31, 31, 29, 26, 40, 32, 39)

n=6; se = numeric(length(prevs))
for(i in 1:length(prevs))
  se[i] = sd(rnorm(n, prevs, 15))/n

                                        #Basic plot
par(fin=c(6,6), pin=c(6,6), mai=c(0.8,1.0,0.0,0.125), cex.axis=0.8)
barplot(prevs,space=c(0,0,0,3,0,0, 3,0,0), names.arg=NULL, horiz=FALSE,
        axes=FALSE, ylab="Percent", col=c(2,3,4), width=5, ylim=range(0,50))

                                        #Add in the CIs
xx = c(2.5, 7.5, 12.5, 32.5, 37.5, 42.5,  62.5, 67.5, 72.5)
for (i in 1:length(prevs)) {
  lines(rep(xx[i], 2), c(prevs[i], prevs[i]+se[i]))
  lines(c(xx[i]+1/2, xx[i]-1/2), rep(prevs[i]+se[i], 2))
}

                                        #Add the axis
axis(2, tick=TRUE, xaxp=c(0, 50, 5))
axis(1, at=xx+0.1, labels=names, font=1,
     tck=0, tcl=0, las=1, padj=0, col=0, cex=0.1)

16voto

Eggs McLaren Puntos 945

Gracias por todas las respuestas. Para la integridad pensé que debería incluir lo que suele hacer. Yo tiendo a hacer una combinación de las sugerencias dadas: puntos, boxplots (cuando n es grande), y se (o sd) rangos.

(Eliminado por el moderador, porque el sitio de alojamiento de la imagen ya no parece funcionar correctamente.)

Desde el punto de la trama, es claro que los datos es la medida de la dispersión de la "barra de la manija" parcelas sugieren. De hecho, hay un valor negativo en A3!


He hecho esta respuesta un CW, así que no ganar representante

10voto

Jay Puntos 395

Keynote (excelente) de Frank Harrell había titulado "Información alergia" al usuario. el mes pasado mostró alternativas a estas: en lugar de ocultar los datos en bruto a través de la agregación de las barras proporcionan, los datos en bruto se muestran también como puntos (o puntos). "¿Por qué esconden los datos?" era comentario de Frank.

Alpa de fusión, que parece una sugerencia más sensata (y toda la charla más lleno de buenas e importantes, nuggets).

7voto

Matt Mitchell Puntos 17005

Desde una perspectiva psicológica, que abogan por el trazado de los datos, además de su incertidumbre acerca de los datos. Por lo tanto, en una trama como muestran, nunca se molestó con la extensión de los bares de todo el camino a cero, que sólo sirve para minimizar la capacidad del ojo para distinguir las diferencias en el rango de los datos.

Además, estoy francamente anti-gráfica de barras; de la barra de gráficos de mapa de dos variables con la misma estética de atributo (x-ubicación del eje), el cual puede causar confusión. Un mejor enfoque es evitar redundante estética de asignación mediante la asignación de una variable en el eje x y otra variable a otra estética atributo (por ejemplo. punto de la forma o el color, o ambos).

Finalmente, en el gráfico anterior, sólo se incluyen barras de error por encima del valor, lo que dificulta la capacidad de uno para comparar los intervalos de incertidumbre relativa a las barras de arriba y abajo del valor.

He aquí cómo iba a graficar los datos (a través del paquete ggplot2). Tenga en cuenta que puedo añadir líneas que unen puntos de la misma serie; algunos sostienen que esto sólo es apropiado cuando la serie a través de la cual los que están conectadas las líneas son numéricos (como parece ser en este caso), sin embargo siempre hay alguna razonable ordinal relación entre los niveles del eje x de la variable, creo que la conexión de líneas son útiles para ayudar a que el ojo asociar los puntos en el eje-x. Esto puede ser particularmente útil para la detección de interacciones, lo que realmente se destacan con líneas.

library(ggplot2)
a = data.frame(names,prevs,se)
a$let = substr(a$names,1,1)
a$num = substr(a$names,2,2)
ggplot(data = a)+
layer(
    geom = 'point'
    , mapping = aes(
        x = num
        , y = prevs
        , colour = let
        , shape = let
    )
)+
layer(
    geom = 'line'
    , mapping = aes(
        x = num
        , y = prevs
        , colour = let
        , linetype = let
        , group = let
    )    
)+
layer(
    geom = 'errorbar'
    , mapping = aes(
        x = num
        , ymin = prevs-se
        , ymax = prevs+se
        , colour = let
    )
    , alpha = .5
    , width = .5
)

2voto

Brendan Puntos 7674

Tengo curiosidad por qué no te gusta de estas parcelas. Yo los uso todo el tiempo. Sin querer estado de la floración obvio, que permiten la comparación de medias de los diferentes grupos y ver si sus 95% CIs se superponen (es decir, verdadera media pueden ser diferentes).

Es importante conseguir un equilibrio de la simplicidad y de la información para diferentes propósitos, supongo. Pero cuando el uso de estas parcelas estoy diciendo- "estos dos grupos son diferentes el uno del otro de una manera importante" [o no].

Parece bastante grandes para mí, pero me interesaría escuchar ejemplos de lo contrario. Supongo implícita en el uso de la trama es que los datos no tienen un bizzare de distribución que hace que la media no válida o engañosa.

2voto

Noam Gal Puntos 155

Si los datos son tarifas: que es el número de éxitos dividido por el número de ensayos, a continuación, una forma muy elegante, es un método gráfico de embudo. Por ejemplo, ver http://qshc.bmj.com/content/11/4/390.2.full (disculpas si el enlace se requiere una suscripción--hágamelo saber y voy a buscar otro).

Puede ser posible para adaptarse a otros tipos de datos, pero no he visto ningún ejemplo.

ACTUALIZACIÓN:

Aquí hay un enlace a un ejemplo que no requiere de una suscripción (y tiene una buena explicación de cómo podrían ser utilizados): http://understandinguncertainty.org/fertility

Pueden ser utilizados para los no-tasa de datos, simplemente por conspirar contra el error estándar, sin embargo, pueden perder parte de su simplicidad.

El artículo de la wikipedia no es muy grande, ya que sólo se habla de su uso en el meta-análisis. Yo diría que podría ser útil en muchos otros contextos.

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