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.
v-caliao-msft
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