9 votos

Cómo crear un barplot diagrama donde se encuentran los bares están lado a lado en R

Quiero crear un bardiagram de estos datos en R (lectura de un archivo CVS):

Experiment_Name MetricA MetricB Just_X 2 10 Just_X_and_Y 3 20

tienen el siguiente diagrama:

alt text

Yo soy principiante y no sé ni cómo empezar.

13voto

Abhi Puntos 111

Aquí ggplot versión:

library(ggplot2)
df = melt(data.frame(A=c(2, 10), B=c(3, 20), 
          experiment=c("X", "X & Y")),
          variable_name="metric")

ggplot(df, aes(experiment, value, fill=metric)) + 
       geom_bar(position="dodge")

alt text

13voto

DavLink Puntos 101

Voy a asumir que usted es capaz de importar los datos en R con read.table() o el corto de la mano read.csv() funciones. A continuación, puede aplicar cualquier resumen de las funciones que usted desea, por ejemplo table o mean, de la siguiente manera:

x <- replicate(4, rnorm(100))
apply(x, 2, mean)

o

x <- replicate(2, sample(letters[1:2], 100, rep=T))
apply(x, 2, table)

La idea es acabar con una matriz o tabla para los valores de resumen que desea mostrar.

Para la salida gráfica, mirar el barplot() función con la opción beside=TRUE, por ejemplo,

barplot(matrix(c(5,3,8,9),nr=2), beside=T, 
        col=c("aquamarine3","coral"), 
        names.arg=LETTERS[1:2])
legend("topleft", c("A","B"), pch=15, 
       col=c("aquamarine3","coral"), 
       bty="n")

El space argumento puede ser usado para añadir un espacio extra entre yuxtapuestos bares.

alt text

1voto

Colin D Puntos 11

Quería actualizar teucro, la respuesta a reflejar reshape2.

library(ggplot2)
library(reshape2)
df = melt(data.frame(A=c(2, 10), B=c(3, 20), 
                 experiment=c("X", "X & Y")),
      variable.name="metric")

ggplot(df, aes(experiment, value, fill=metric)) + 
  geom_bar(position="dodge",stat="identity")

Tenga en cuenta que teucro la respuesta que produce el mensaje de error "Error en la eval(expr, envir, enclos) : el objeto 'métrica' no encontrado" con reshape2 porque reshape2 los usos de la variable.nombre en lugar de variable_name.

También me di cuenta de que necesitaba agregar stat="identidad" a la geom_bar función porque de lo contrario se dio "Error : la Asignación de una variable a y y también el uso de stat="bin"."

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