Diagrama de Venn

Un usuario Pregunto ✅

jessicammoss

Los diagramas de Venn muestran regiones superpuestas basadas en valores dentro de conjuntos. El código de visualización de R proporcionado en este archivo de escritorio de Power BI tomará un conjunto dinámico de columnas (según los valores que agregue en el panel de campos), realizará el análisis de superposición y mostrará el diagrama. Este código funcionará con hasta 5 columnas.

requisitos previos (Los archivos .pbix de muestra no funcionarán si no se completan estos requisitos previos)

  1. Instalar el motor R: Power BI Desktop no incluye, implementa ni instala el motor R. Para ejecutar scripts de R en Power BI Desktop, debe instalar R por separado en su equipo local. Puede descargar e instalar R de forma gratuita desde muchas ubicaciones, incluida la página de descarga de Revolution Open y el repositorio CRAN.
  2. Instale los paquetes R necesarios: VennDiagram

enebro

Cuando hago clic en su enlace, Adjunto archivoVennDiagramWithR.pbix, Power bi aparece con un mensaje de error. No puedo ver tu código. (ver captura de pantalla adjunta) ¿Esto todavía funciona o simplemente lo estoy haciendo mal? Escribí un código en r que funciona maravillosamente (en r). Cuando lo ejecuto en Power Bi, me da el mismo mensaje de error que recibo cuando hago clic en su enlace.

¿Alguna pista para alguien?

Aquí está mi código y una captura de pantalla de un pequeño conjunto de datos (Venn_dummy)

dibujar.triple.venn(area1 = nrow(subconjunto(Venn_dummy, Felony == «Sí»)), area2 = nrow(subconjunto(Venn_dummy, Delito menor == «Sí»)), area3 = nrow(subconjunto(Venn_dummy, Ordenanza = = «Sí»)),
n12 = nrow(subconjunto(Venn_dummy, Felonía == «Sí» & Delito menor == «Sí»)), n23 = nrow(subconjunto(Venn_dummy, Delito menor == «Sí» & Ordenanza == «Sí»)),
n13 = nrow(subconjunto(Venn, Delito == «Sí» & Ordenanza == «Sí»)), n123 = nrow(subconjunto(Venn, Delito == «Sí» & Delito menor == «Sí» & Ordenanza == » Sí»)),
categoría = c(«Delincuentes de delitos mayores», «Delincuentes de delitos menores», «Infractores de ordenanzas»), lty = «en blanco», fill = brewer.pal(n = 3, nombre = «Dark2»))

En respuesta a enebro

Hola @juniper, abrí el PBIX adjunto, funciona bien para mí.

1) Asegúrese de haber actualizado el escritorio de PBI

2) Instale install.packages («VennDiagram») desde su R IDE

3) Si el problema persiste, mire el error (ver detalles)

4) Puede depurar el código en su R IDE desde R Visual Captura.PNG

5) Si tu problema persiste envíame tu PBIX
boefraty en microsoft.com

enebro

En respuesta a boefraty

Hola Boefraty,

Gracias por tu útil mensaje.

Conseguí que el Diagrama de Venn funcionara en Power Bi, pero no puedo hacer que la cortadora funcione con él. Se supone que debo hacer una demostración sobre esto la próxima semana (¡ay!). He adjuntado una captura de pantalla. puedes darme algunos consejos?

Nota: mi archivo de datos tiene datos a nivel de persona (no agregados) e incluye datos de cargos y datos demográficos (es decir, raza).

También, VENn ayuda.PNGNo sé qué es un BPIX.

En respuesta a enebro

PBIX es una extensión de archivo generada en el escritorio PBI.

Si me lo envía, no tendré problemas para reproducir su problema de mi parte.

enebro

En respuesta a boefraty

¡Muchas gracias!

##Este código de diagrama de Venn se usa en la demostración de Power Bi. Ejecútelo desde R desde dentro de Power Bi

#set directorio de trabajo, es decir, la carpeta en la que está trabajando
setwd(«H:/Eliel JBBS Enviado»)
#establecer ruta de biblioteca predeterminada: dónde buscar paquetes, que también se denominan bibliotecas
.libPaths(«H:/R/win-library/3.4»)

#cargar paquete de Diagrama de Venn

biblioteca (diagrama de Venn)
biblioteca («RColorBrewer»)
biblioteca (cuadrícula)
biblioteca (futile.logger)
#get Java para que podamos exportar a Excel
Sys.setenv(JAVA_HOME = «C:/Archivos de programa/Java/jdk1.8.0_151»)

biblioteca (xlsx)
biblioteca (rJava)

Venn <- read.xlsx("Venn.xlsx", sheetName = "Venn", header = TRUE, stringsAsFactors = FALSE)

dibujar.triple.venn(margen = 0.1, área1 = nfila(subconjunto(Venn, Delito == «Sí»)), área2 = nfila(subconjunto(Venn, Delito menor == «Sí»)), área3 = nfila(subconjunto( Venn, Ordenanza == «Sí»)),
n12 = nfila(subconjunto(Venn, delito grave == «Sí» y delito menor == «Sí»)), n23 = nfila(subconjunto(Venn, delito menor == «Sí» y ordenanza == «Sí»)),
n13 = nrow(subconjunto(Venn, Delito == «Sí» & Ordenanza == «Sí»)), n123 = nrow(subconjunto(Venn, Delito == «Sí» & Delito menor == «Sí» & Ordenanza == » Sí»)),
categoría = c(«Delincuentes de delitos mayores», «Delincuentes de delitos menores», «Infractores de ordenanzas»), lty = «en blanco», fill = brewer.pal(n = 3, nombre = «Dark2»))

En respuesta a enebro

Obtuve su código para ejecutarlo en mi PBI Desktop sin problemas. Mencionaste algo sobre rebanadoras. No puedo reproducir tus cortadoras desde el script R 😞

¿Puede adjuntar su PBIX (archivo de informe de escritorio PBI)?

enebro

En respuesta a boefraty

Muchas gracias.

Sí, mi código Venn funciona muy bien. La rebanadora no.

Creé una segmentación para Race como hago para cualquier otra cosa en Power Bi (ver capturas de pantalla adjuntas) Está en la misma página que mi diagrama de Venn, que creé en R. Esperaba que si seleccionaba solo «blanco» en la carrera Slicer, filtraría todos los sujetos no blancos en mi diagrama de Venn, tal como lo hace con cualquier otro objeto visual de Power Bi.

¿No es así como se supone que funciona?

Gracias de nuevo,

Jennifer

En respuesta a enebro

Intente cambiar su objeto visual R por el objeto visual «Tabla». Vea cómo responde a la rebanadora.

O

Ejecute el código con sus datos filtrados en R IDE como RStudio (vea mi respuesta anterior) y depúrelo

O

Envíame el PBIX 🙂
Captura.PNG

enebro

En respuesta a boefraty

¡Muchas gracias! Aquí está mi archivo PBIX.

También he adjuntado una captura de pantalla de lo que sucede cuando lo cambio a una tabla. Sí, la segmentación funciona, pero la imagen ya no es útil.

Muchas gracias,

Jennifer

En respuesta a enebro

Hola @juniper,
Un consejo más. Debe agregar más columnas a su objeto visual R, de modo que cada fila sea única. De lo contrario, PBI visual (cualquier visual) eliminará los duplicados y su diagrama será incorrecto. Otra opción es usar la columna ID. Y asegúrese de no agregar campos.
«No resumir» para todos los campos de entrada.

enebro

En respuesta a boefraty

Hola de nuevo Boefraty,

Hice todo lo que me pediste, pero ahora estoy contando uno por categoría. Hay una identificación única para cada observación, pero Power Bi todavía está eliminando «duplicados».

Aquí está el código y la salida, así como una captura de pantalla que muestra las identificaciones únicas.

Muchas, muchas, muchas gracias,

Enebro

#set directorio de trabajo, es decir, la carpeta en la que está trabajando
setwd(«H:/Eliel JBBS Enviado»)
#establecer ruta de biblioteca predeterminada: dónde buscar paquetes, que también se denominan bibliotecas
.libPaths(«H:/R/win-library/3.4»)

#cargar paquete de Diagrama de Venn

biblioteca (diagrama de Venn)
biblioteca («RColorBrewer»)
biblioteca (cuadrícula)
biblioteca (futile.logger)

#Venn <- read.xlsx("Venn.xlsx", sheetName = "Venn", header = TRUE, stringsAsFactors = FALSE)
Venn = conjunto de datos

dibujar.triple.venn(margen = 0.1, área1 = nfila(subconjunto(Venn, Delito == «Sí»)), área2 = nfila(subconjunto(Venn, Delito menor == «Sí»)), área3 = nfila(subconjunto( Venn, Ordenanza == «Sí»)),
n12 = nfila(subconjunto(Venn, delito grave == «Sí» y delito menor == «Sí»)), n23 = nfila(subconjunto(Venn, delito menor == «Sí» y ordenanza == «Sí»)),
n13 = nrow(subconjunto(Venn, Delito == «Sí» & Ordenanza == «Sí»)), n123 = nrow(subconjunto(Venn, Delito == «Sí» & Delito menor == «Sí» & Ordenanza == » Sí»)),
categoría = c(«Delincuentes de delitos mayores», «Delincuentes de delitos menores», «Infractores de ordenanzas»), lty = «en blanco», fill = brewer.pal(n = 3, nombre = «Oscuro2»))

En respuesta a enebro

Hola @juniper,

Realmente necesito el PBIX para ver el problema 😞

Parece que agregó la identificación única a la tabla de datos, pero no agregó la columna de identificación como entrada a R visual. Arrastre la columna ID a R visual como lo hizo con «Delito grave» y el resto.

enebro

En respuesta a boefraty

Hola Boefraty,

Muchas gracias por su paciencia. Aquí está el archivo PBIX.

Arrastré la columna de ID única al objeto visual R, pero obtuve el mismo resultado.

Enebro

En respuesta a enebro

Te perdiste mi «consejo» sobre asegurarte de que cada columna sea «No resumir». También se adjunta PBIX de trabajo con filtros. Captura.PNG

enebro

En respuesta a boefraty

Hola Boefraty,

¿Qué tamaño de conjunto de datos puede manejar un diagrama de Venn en Power Bi?

Muchas gracias,

Enebro

En respuesta a enebro

Hola @juniper,

Me alegro de que te haya resultado. Estas son las limitaciones de los objetos visuales R en PBI:
https://docs.microsoft.com/en-us/power-bi/desktop-r-visuals#limitaciones-conocidas

enebro

En respuesta a boefraty

¡¡¡Muchas gracias!!!

mancha

En respuesta a enebro

Este visual parece dar resultados incorrectos cuando se seleccionan 4 campos.

Puedo hacer 3 bien, pero 4 no se calcula correctamente, por ejemplo, una categoría con 30 elementos muestra 20, 4, 0, 0 en lugar de sumar 30.

Sin embargo, mis matemáticas podrían estar mal. Creo que con 4 categorías no hay forma de mostrar las categorías superior e inferior (o izquierda y derecha) que se cruzan, ya que ya se superponen en el medio. Tal vez eso sea solo una limitación de los diagramas de Venn; en ese caso, ¿tal vez limitarlo a 3 categorías?

3 categorías: figuras correctas;  cada categoría suma 8.3 categorías: cifras correctas; cada categoría suma 8.4 categorías: Algo anda mal;  las categorías suman 7.4 categorías: Algo anda mal; las categorías suman 7.

Los datos son 4 variables estándar con 2 opciones por variable.Los datos son 4 variables estándar con 2 opciones por variable.

En respuesta a mancha

Hola @spotpuff,

Asegúrese de que todas las filas en su tabla de entrada sean ÚNICAS. Puede hacerlo agregando la columna ID (pero ignórelo en el script R).

mancha

En respuesta a boefraty

Las filas son únicas; Estaba usando un ejemplo ilustrativo, pero estaba usando el diagrama en un conjunto de datos real que tiene un campo de tipo de ID de fila y todavía tenía problemas con el diagrama de Venn de 4 dimensiones.

Es probable que el problema tenga algo que ver con más de 3 categorías que requieren diagramas extraños:

https://en.wikipedia.org/wiki/Venn_diagram#Extensions_to_higher_numbers_of_sets

El visual no convierte la cuarta categoría en ese tipo de «arcoíris», por lo que las matemáticas podrían estar mal.

O podría estar equivocado.

De cualquier manera, por ahora me quedo con 3 categorías a medida que las matemáticas funcionan en ese diagrama.

Deja un comentario

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