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)
- 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.
- Instale los paquetes R necesarios: VennDiagram
enebro
Cuando hago clic en su enlace, VennDiagramWithR.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»))

boefraty
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
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, No sé qué es un BPIX.
boefraty
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»))
boefraty
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
boefraty
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 🙂
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
boefraty
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»))
boefraty
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
boefraty
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.
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
boefraty
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: cifras correctas; cada categoría suma 8.
4 categorías: Algo anda mal; las categorías suman 7.
Los datos son 4 variables estándar con 2 opciones por variable.
boefraty
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.