Gráfico de dispersión R: filtre x e y de la misma columna con diferentes segmentaciones

Un usuario Pregunto ✅

antonio_w

Solo diga que tengo una configuración de tabla de datos como la siguiente:

Índice

Mes

Año

Parámetro_Y

Valor_Y

1

enero

2015

Ingresos

100

2

enero

2015

Lucro

20

3

enero

2015

Gastos

10

4

enero

2015

Impuesto

10

5

enero

2015

Salarios

40

6

febrero

2015

Ingresos

120

7

febrero

2015

Lucro

57

8

febrero

2015

Gastos

11

9

febrero

2015

Impuesto

10

10

febrero

2015

Salarios

42

Estoy tratando de configurar un gráfico de dispersión R para usar la misma tabla pero con 2 segmentos de la columna parámetro_Y, por ejemplo, trazar Ingresos versus ganancias. Se puede preparar fácilmente un diagrama de dispersión fijo para, por ejemplo, Ingresos y ganancias, pero quiero que los parámetros X e Y sean dinámicos.

He intentado usar 2 tablas (una duplicada de la otra). Estas tablas deben vincularse mediante la columna Índice; de ​​lo contrario, Power Bi genera un error (no se pueden determinar las relaciones entre los campos). Cuando se selecciona un parámetro Y, la segunda tabla se filtra automáticamente de modo que solo se puede seleccionar el parámetro Y para X.

No puedo pensar en una forma de pasar los datos de ingresos y ganancias a R y hacer que el proceso sea dinámico de modo que se puedan evaluar diferentes combinaciones (por ejemplo, ingresos versus gastos, ganancias versus impuestos, etc.)

Mi código R es básico en este momento y buscará hacer que el gráfico sea más elegante una vez que haya resuelto el problema de entrada de datos:

biblioteca (ggplot2)

ggplot(conjunto de datos,aes(x=Valor_X, y = Valor.Y))+geom_point()

¿Alguien ha descubierto cómo mostrar un diagrama de dispersión R usando 2 rebanadores para X e Y con datos de una tabla?

¡Gracias de antemano por tu ayuda!

antonio_w

He investigado más a fondo mi problema y he llegado a una solución viable. Pensé que debería presentarlo en caso de que alguien más tenga un problema similar.

Creé una tabla que enumera los parámetros de la segmentación de manera que los valores del Parámetro X se repiten para todos los valores del parámetro y, como se indica en la siguiente tabla.

Parámetro_X Parámetro_Y
Ingresos Ingresos
Ingresos Lucro
Ingresos Gastos
Ingresos Impuesto
Ingresos Salarios
Lucro Ingresos
Lucro Lucro
Lucro Gastos
Lucro Impuesto
Lucro Salarios

Las columnas de la tabla anterior se introducen en el gráfico de dispersión R. Las segmentaciones se crean para Parámetro_X y Parámetro_Y. Esto significa que los parámetros necesarios se proporcionan al código del gráfico de dispersión. El código R lee los datos de origen requeridos directamente desde un archivo CSV (usando read.csv()). Los datos X, Y del gráfico de dispersión se filtran de los datos CSV.

Y ahora el gráfico de dispersión reacciona a las variaciones en el valor del selector Parámetro_X y Parámetro_Y.

antonio_w

He investigado más a fondo mi problema y he llegado a una solución viable. Pensé que debería presentarlo en caso de que alguien más tenga un problema similar.

Creé una tabla que enumera los parámetros de la segmentación de manera que los valores del Parámetro X se repiten para todos los valores del parámetro y, como se indica en la siguiente tabla.

Parámetro_X Parámetro_Y
Ingresos Ingresos
Ingresos Lucro
Ingresos Gastos
Ingresos Impuesto
Ingresos Salarios
Lucro Ingresos
Lucro Lucro
Lucro Gastos
Lucro Impuesto
Lucro Salarios

Las columnas de la tabla anterior se introducen en el gráfico de dispersión R. Las segmentaciones se crean para Parámetro_X y Parámetro_Y. Esto significa que los parámetros necesarios se proporcionan al código del gráfico de dispersión. El código R lee los datos de origen requeridos directamente desde un archivo CSV (usando read.csv()). Los datos X, Y del gráfico de dispersión se filtran de los datos CSV.

Y ahora el gráfico de dispersión reacciona a las variaciones en el valor del selector Parámetro_X y Parámetro_Y.

En respuesta a antonio_w

@Anthony_W,

Me alegra saber que usted mismo resolvió su problema, acepte su respuesta como solución, ya que dijo que ayudará a otras personas que tienen un problema similar a encontrar la solución fácilmente.

Saludos,

charlie liao

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *