4 votos

Visualizar datos de proceso

Tengo un conjunto de datos de procesamiento de pedidos, con 8 millones de filas con las columnas siguientes:

  • HistoryId - Columna de identidad de los registros
  • ItemId - Id del elemento de seguimiento
  • Previous status - estado de posición antes de la historia registro creado
  • New status - estado de Elemento cuando el registro creado en la historia
  • Time till status change - La diferencia de tiempo entre el registro anterior del elemento hasta que esta historia registro creado.

Quiero visualizar estos datos con un cuadro / gráfico que muestra el flujo similar a este:

Status 1 --> Status 2 --> Status 3 --> Status 4 --> Status 5
                                       Status 5
                          Status 4 --> Status 5
Status 2 --> Status 3 --> Status 5 --> Status 2 --> Status 4 --> Status 5
                                                    Status 5
                      --> Status 4 --> Status 5
             Status 4 --> Status 5

En el ejemplo anterior se supone que todos los elementos tienen:

  1. El primer estado es Status 1 o Status 2.
  2. Todos los elementos de inicio con Status 1 han 2º de estado es Status 2, mientras que para el punto de inicio con Status 2 parcial Status 3, y otros son Status 4
  3. Mueve en una lógica similar de (2.) con descomponen por cada flujo.

Quiero explorar los datos y visualizar todos los posibles flujos de los datos. A continuación, un resumen de los mismos mediante el recuento del número de elementos que ir a través de cada Status de cada flujo. Actualmente, estoy haciendo de forma manual. Es posible automatizar este y visualizar en el gráfico?

Datos De Ejemplo:

HistoryID     ItemId     Previous_status     New_Status   
1             1          NA                  status_1     
2             2          NA                  status_2   
3             1          status_1            status_2   
4             1          status_3            status_4  
5             2          status_1            status_3   
6             1          status_4            status_5    
7             2          status_3            status_5    

Y aquí está una muestra de la producción de esta salida no es completamente lo que yo quería - Explicación:

  • X - es el índice de la condición de que un Elemento tiene en el ciclo de vida de ti.
  • Y - es el nombre de estado
  • Size - el número de elemento de pasar por el estado Y en el índice X.
  • Omitir el color como se excluyen de los datos en el ejemplo.
  • Como puedes ver la mayoría de elemento tiene el estado de Y como el principio de estado (el puño de la columna de la izquierda).
  • A continuación, se mueve a la derecha están rompiendo a otro estado (en algún momento se puede volver al principio, pero más tarde índice)
  • La limitación de este no se muestra el flujo de detalle incluso puedo ver el flujo por el cambio en el tamaño del punto extra.
  • Lo que realmente quiero es algo como un árbol de decisión donde se puede ver cómo el elemento de flujo a través del estado, y cada flujo es independiente de la de cada uno de los otros. Sample out put but not exactly

Me las arreglé para utilizar el riverplot paquete. Sin embargo tengo algunos problemas relacionados como la imagen de abajo. Alguien sabe cómo mostrar la etiqueta en el lado en vez de a la derecha en los spots? como tengo una de unos 30 estado y es muy confuso cuando tenerlos pantalla como la imagen de abajo.

Para su referencia, aquí está el enlace al paquete riverplot tutorial

enter image description here

3voto

Philipp Christoph Puntos 39

Aquí está la respuesta a mi pregunta. Hay dos paquetes para probar:

riverplot - este paquete es muy flexible, ya que es flexible, se necesita algún tiempo para aprender su formato para dominar.

ggparallel más fácil la relación con el formato de datos que puede realizarse fácilmente utilizando reshape2 paquete

Recientemente, he aprendido acerca de la d3.js y creo que d3js es una muy buena herramientas para la visualización de datos, incluyendo para este propósito. Ejemplo de Sankey gráfico dibujado en d3js

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