Necesito crear un diagrama de caja de los datos.marco con tres columnas numéricas, y usar el argumento de split para separar los cuadros de pintura. Tengo un grande de datos.el marco, pero lo que necesito es en el ejemplo a continuación:

paint<-c("blue", "black", "red", "blue", "black", "red", "blue", "black", "red")
car1<-c(100, 138, 123, 143, 112, 144, 343, 112, 334)
car2<-c(111, 238, 323, 541, 328, 363, 411, 238, 313)
car3<-c(432, 123, 322, 342, 323, 522, 334, 311, 452)
data<-data.frame(paint, car1, car2, car3)

>data
      paint  car1 car2 car3
   1  blue   100  111  432
   2  black  138  238  123
   3  red    123  323  322
   4  blue   143  541  342
   5  black  112  328  323
   6  red    144  363  522
   7  blue   343  411  334
   8  black  112  238  311
   9  red    334  313  452

Cuando usé sólo una columna de la siguiente función:

boxplot(split(datos[,2], datos[,1]))

Pero cuando intento crear un boxplot utilizando tres columnas la función no funciona:

boxplot(split(datos[,2:4], datos[,1]))

Gracias por la ayuda y perdón por la mala inglés.

  • Lo que desea el gráfico parecerse? Lo que está en el eje x? Color con tres boxplots (para car1, car2 y car3) por color?
InformationsquelleAutor RhinoBR | 2012-07-15

1 Comentario

  1. 5

    Trate de poner sus datos en el formulario largo de la primera y, a continuación, de trazado:

    temp = reshape(data, direction="long", varying=2:4, sep="")
    boxplot(split(temp[,3], temp[,1]))
    # boxplot(car ~ paint, data=temp) ### Formula notation, easier to read

    Cómo crear un diagrama de caja el uso de varias columnas y el argumento de

    O, el uso de lattice:

    library(lattice)
    bwplot(car1 + car2 + car3 ~ paint, data=data)

    No estoy seguro de por qué, que la notación no funciona con base R boxplot aunque.

    Cómo crear un diagrama de caja el uso de varias columnas y el argumento de

    Actualización

    En caso de que se me malinterprete tu pregunta original (después de leer Romano del comentario), he aquí una opción (de nuevo, con lattice) que pone boxplots para car1, car2, y car3 por separado, pero de lado a lado. Para ello se utiliza el largo de datos de formulario temp creado en el primer ejemplo:

    bwplot(car ~ paint | paste0("Car ", time), data = temp)

    Cómo crear un diagrama de caja el uso de varias columnas y el argumento de

    • Sospecho que esto último panel de tres entramado de la trama es lo OP después.
    • que se me ocurrió después de leer tu comentario. @RhinoBR, si quería parcelas separadas para cada coche en lugar de este panel de salida, también puede hacer esto con los datos originales: lapply(data[-1], function(x) boxplot(x ~ data$paint)).

Dejar respuesta

Please enter your comment!
Please enter your name here