2016-07-28

Etiquetar elementos de un gráfico de barras apilado en ggplot2

Title

Problema

Queremos etiquetar cada unos de los rectángulos del siguiente gráfico de barras apilado.

  • Código
  • sex <- c("m", "f", "m", "m", "m", "m", "m", "f", "f", "f")
    age <- c(">10", ">20", ">30", ">10", ">20", ">30", ">10", ">20", ">30", ">10")
    df <- data.frame(sex, age)
    library(ggplot2)
    ggplot(df1, aes(sex, fill = factor(age))) + labs(fill = "Age") + geom_bar() 
    

    Solución

    ggplot(df1, aes(sex, fill = factor(age))) + labs(fill = "Age") + geom_bar() + 
      geom_text(stat = "count", 
                aes(y = ..count.., label = ..count..), 
                position = "stack", vjust = 3)
    
    labs: para cambiar el título de la leyenda.
    geom_text: con esta función añadimos las etiquetas al gráfico.
      stat = "count", aes(y = ..count.., label = ..count..): para contar los elementos de cada rectángulo.
      position = "stack": para indicar que los elementos están apilados.
      position = "stack": para justificar verticalmente los textos.

    Referencias

    2016-07-25

    Crear el producto cartesiano o combinación cruzada de dos tablas en Ms Access

    Title

    Problema

    Nos proponemos crear el producto cartesiano de dos tablas en Ms Access, todas las posibles combinaciones de dos tablas (cross join o combinación cruzada). En nuestro ejemplo, asignar a cada país un listado de 3 productos.

    Solución

    1. Creamos una consulta, añadimos las dos tablas sin crear una combinación entre ellas (por eso ninguna línea une las tablas), y los campos deseados.
    2. Ejecutamos la consulta.

    Resultados

    Habremos asignado a cada país el listado de 3 productos, con su ID, producto y cantidad.

    Notas

    El producto cartesiano o combinación cruzada son muy útiles en ejemplos específicos como el anterior, ahorrándonos un tiempo precioso en lo que, de otra manera, deberíamos crear copiando y pegando quizá miles de veces. No obstante, este tipo de consultas puede potencialmente crear un enorme número de filas como resultado y tardar mucho tiempo en ejecutarse. Por tanto, debemos ser conscientes de nuestro propósito para no obtener resultados sin sentido y ralentizar el tiempo de ejecución.

    Entradas relacionadas

    2016-07-19

    Eliminar etiquetas de HTML de un fichero Excel

    Title

    Problema

    Deseamos eliminar las etiquetas de html de un fichero Excel.

    Solución

    1. Abrimos el cuadro de diálogo de Buscar y reemplazar: Ctrl +L
    2. Tecleamos en la casilla Buscar: <*>
    3. Presionamos Reemplazar todos.

    Resultado

    Comprobamos como se han eliminado tanto los paréntesis angulares como el texto entre los mismos.

    Entradas relacionadas

  • Reemplazar texto entre dos caracteres en Excel
  • Cómo buscar y reemplazar en varias hojas en Excel
  • 2016-07-13

    Atajo para agrupar y desagrupar datos de tablas dinámicas

    Title

    Problema

    Deseamos agrupar elementos de una tabla dinámica sin necesidad de usar los botones de la cinta de opciones.

    Solución

  • Agrupar
  • Seleccionamos los elementos deseados y presionamoss: Mayús + Alt + Flecha derecha.

    Si solamente seleccionamos un elemento de la tabla dinámica y es número, moneda o fecha aparecerán los siguientes menús desplegables:

  • Desagrupar
  • Seleccionamos los elementos deseados y presionamoss: Mayús + Alt + Flecha izquierda.

    Estos atajos son especialmente efectivos para elementos contiguos. Mantenemos presionado el botón Mayús avanzando con el cursor para seleccionar los elementos deseados, y después tecleamos Alt más la flecha del cursor correspondiente.

    Entradas relacionadas

    2016-07-11

    Ordenar registros en Access de manera personalizada

    Title

    Problema

    Queremos ordenar los registros de una consulta de manera personalizada. En nuestro ejemplo usamos la base de datos Neptuno. Deseamos ordenar los registros de la tabla Pedidos con un orden personalizado basado en el País de destinatario.

    Solución

    1. Creamos una tabla de búsqueda. En la columna Orden establecemos el que deseamos.
    2. Creamos una consulta en la que unimos por el campo común la tabla creada TablaPaís con la tabla Pedidos que deseamos ordenar.
    3. Añadimos el campo Orden en la consulta, especificamos en Orden Ascendente y desmarcamos la selección Mostrar.
    4. Ejecutamos la consulta.

    Resultados

    Los registros aparecerán en el orden especificado en la tabla de búsqueda TablaPaís: México, Irlanda, Reino Unido, Brasil, etc.

    2016-07-06

    Convertir texto de URL en enlaces activos

    Title

    Problema

    Queremos convertir texto de URL en enlaces activos, de manera que al hacer clic nos dirija a dichas páginas web.

    Solución

    Empleamos la fórmula HIPERVINCULO:

    • Si queremos mostrar el nombre de la propia dirección.
    • =HIPERVINCULO(C2;C2)

    • Si queremos mostrar un nombre descriptivo.
    • =HIPERVINCULO(C2;B2)

    Entradas relacionadas

    2016-07-03

    Ajustar el texto en celdas evitando que se despliegue en celdas adyacentes

    Title

    Problema

    Por defecto Excel despliega el contenido de una celda en aquellas celdas adyacentes a su derecha que estén vacías. Queremos evitar esto.

    Solución

    1. Seleccionamos las celdas deseadas.
    2. En la pestaña Inicio, en el grupo Alineación, clic en Ajustar texto.
    3. Ajustamos el Alto de la celda. Seleccionamos las filas, clic en el botón secundario y en Alto de fila.
    4. Especificamos la altura deseada.

    Resultado

    El texto queda contenido en el ancho de la celda.

    Nube de datos