Formación

Curso de iniciación a R en Kschool de Carlos Gil

Carlos Gil Bellosta va a impartir en Kschool un programa profesional de iniciación a R. En el siguiente link tenéis más información al respecto:

http://kschool.com/cursos/programa-profesional-de-iniciacion-r/

Como podéis ver en el programa podréis trabajar con manipulación de datos, automatización de informes e incluso segmentación sin faltar las posibilidades gráficas de R. Muy interesante para introducirse a R.

Mapa Excel de Europa

mapa_excel_europa1

Un lector me había pedido disponer en Excel de un mapa de Europa y dicho y hecho. Además en este Excel os muestro como hacer paletas de colores más o menos atractivas y como poder usarlas indistintamente con el mapa. Este Excel además contiene algunas líneas de Visual Basic que considero interesantes y que veremos después. Los shape están sacados de este link, pero se retoca completamente el código Visual Basic para hacerlo (a mi entender) más sencillo. El mapa se controla desde esta zona del Excel:

Mapas estáticos municipales para estados de México. Con R y con Excel

mexico_municipios_R_excel

Podemos pintar mapas municipales de México con la ayuda de R y Excel. Esta entrada está en la línea de otra anterior para hacer esta misma tarea con mapas de España. Disponemos de los datos en Excel y tenemos intalado R y la librería sp. El objeto R con los mapas de México lo podemos encontrar en http://www.gadm.org/country seleccionamos Mexico y R Spatial Poligons Data Frame y debemos descargarnos el objeto de nivel 2. Comenzamos el trabajo con R:

Trucos Excel. Repetir filas con DESREF

desref repetir filas excel

En respuesta a una cuestión planteada por una lectora en una entrada muy parecida a esta podemos usar la función de Excel DESREF para repetir registros el número de veces que deseemos. Como sabemos DESREF parte desde una celda referenciada y nos movemos FILAS y COLUMNAS en función de los parámetros. La sintaxis es DESREF(CELDA DE REFERENCIA; FILA; COLUMNA) de modo que si ponemos DESREF(A1;0;1) haremos referencia a la celda B1 o bien si ponemos DESREF(A1;1;0) hará refrencia a la celda A2. Para repetir lo que haremos será algo de este estilo:

Mapas municipales de España en R, con la ayuda de Excel

municipios extremadura R 1

El escribir sobre el BDT de Madrid me ha hecho recordar mi trabajo con statial data de R. Los mapas de spatial data los podemos obtener de forma gratuita de http://www.gadm.org/country y en este caso vamos a descargarnos para España un SpatialPolygonsDataFrame específico para R de nivel 4 que está a nivel municipal (repito nivel todas las veces necesarias), el archivo que os debéis descargar se llamará ESP_adm4.RData. Si buscáis un poco en google encontraréis documentación acerca de este tipo de archivos de R y veréis que se pueden hacer maravillas. En este caso quiero hacer un ejemplo lo más sencillo posible, muy artesanal y casero. Con un poco de imaginación podréis complicarlo o incluso hacer una herramienta en Excel que hiciera mapas con R.

Mapas de la provincia de Madrid con BDT

Mapa Madrid por municipios

JL un lector del blog me ha descubierto esta herramienta muy útil para la creación de mapas de Madrid, se trata de una herramienta pública donde tenemos un gran número de variables para poder representar y además podemos representar nuestras propias variables. La web es:

http://www.madrid.org/bdt/Inicio.icm

El BDT de la Comunidad de Madrid, el Banco de Datos Territorial nos permite plasmar en un mapa un gran número de variables del sistema de información estadística de la Comunidad de Madrid y nuestras propias variables que podemos subir tras darnos de alta en menos de 3 minutos. A partir de ahí en Crear Mapas Propios podemos crear nuestros propios mapas de usuario. En Crear nuevas variables podemos empezar a trabajar con nuestras propias variables que primero definimos y posteriormente podemos editar los datos y subirlos desde Excel. Para subir un Excel yo recomiendo descargar uno de los que tiene datos del BDT y ponerle nuestros datos. Es muy sencillo hacer unos mapas de forma tan sencilla que JL y yo hemos hecho cosas espectaculares.

Trucos SAS. Calcular percentiles como Excel o R

Alguna vez habréis calculado un percentil en Excel o en R y os saldrá distinto de SAS. Esto se debe a que los métodos de cálculo son distintos tanto R como Excel utilizan el mismo método consistente en una interpolación en función de la distancia entre los registros que dan la posición del percentil. SAS dispone de 5 métodos distintos para calcular el percentil y por defecto emplea el número 5 y ninguno de los 4 métodos restantes es el que utilizan R o Excel. Pero podemos programar el método de un modo sencillo, cuesta más entender porque no lo implementa SAS que calcularlo. A continuación tenéis una sencilla macro que calcula el percentil con el método de Excel:

Aprendiendo Shiny. La función shinyUI seguida de fluidPage o fluidRow

Con shinyUI creamos el interface de nuestra app de shiny y cuando la usamos inmediatamente ponemos fluidPage o fluidRow (por lo menos en estos primeros acercamientos). Utilizaremos una u otra en función del diseño que deseamos. Los argumentos que pueden tener fluidPage o fluidRow son múltiples. Algunos de los que estoy usando:

  • titlePanel. Imprescindible, sirve para poner títulos a nuestra app
  • headerPanel. Para titular nuestro panel
  • wellPanel para introducir tablas con formato. Podremos jugar con css para cambiar los formatos.
  • Elementos para modificar valores como:
    • sliderInput. Nos permite crear los slider como hemos visto en los ejemplos
    • textInput. Para introducir texto «libre»
    • selectInput. Crea un combo
    • checkboxInput. Obvio
    • ….
  • actionButton
  • mainPanel. Es el cuerpo de nuestra app y puede estar compuesto de:
    • plotOutput
    • tabPanel nos permite poner tablas HTML
    • si deseamos crear salidas más complejas podemos usar mainPanel y tabular nuestras salidas. Por ejemplo un cuadro de mando

A muy grandes rasgos esto es lo que podemos empezar a hacer con nuestro interfaz. Cada vez me recuerda más a SAS AF o appDev Studio lenguaje de programación que tengo más olvidado que el JCL. No es programar en R, aunque no es tan difícil como mi querido Tclk. Saludos.

Aprendiendo shiny. server.R ui.R

Sigo con shiny y RStudio aver que cosas soy capaz de hacer. Hay dos elementos básicos a la hora de crear aplicaciones con shiny:

  • server.R es el lugar donde definimos la función server. Es necesario empezar a familiarizarnos con el lenguaje de shiny.
  • ui.R es el user interface es el lugar donde definimos lo que vamos a ver con nuestra aplicación.

El elemento fundamental de server.R es shinyServer(función) en los ejemplos que he estado viendo la función tiene una entrada y una salida. Imagino que podremos dar más complejidad a estas funciones. De momento una entrada y una salida. En ui.R es donde definimos la salida en HTML que deseamos para nuestra aplicación en el tutorial de shiny podéis ver muchas posibilidades. La función principal para crear estos interfaces es shinyUI(definición del interface). No parece complicado de definir el interface con unos conocimientos básicos de HTML y conociendo el código específico de shiny. Ya no programamos tanto con R, ahora programamos con shiny.

Aprendiendo shiny con vosotros

No queda otro remedio. Necesito actualizarme un poco y comenzar a usar shiny y espero poder llegar a publicar en el blog las aplicaciones resultantes. No sé si seré capaz pero allá vamos. Lo primero es tener Rstudio instalado y empezar a escribir:

install.packages(«shiny») system.file(«examples», package=»shiny»)

Ya podemos ver los ejemplos de un modo muy sencillo:

runExample(«05_sliders») # slider bars

Aparece una app que podemos ver tanto en RStudio como en nuestro navegador. Si modificamos las barras cambian los números de la tabla de la derecha. Muy sencillo. Para comenzar a trabajar debemos conocer dos códigos de R que están guardados en su correspondiente carpeta. Son server.R y ui.R que podemos abrir en la carpeta [deWindows] C:\Users\fulanito\Documents\R\win-library\3.1\shiny\examples\05_sliders Sin embargo nosotros vamos a copiar y pegar esta carpeta en la misma ubicación pero le damos el nombre prueba y abrimos server.R

Truco Excel. Gráfico de puntos con colores

Un gráfico de dispersión en Excel en el que los puntos puedan ser identificados si pertenecen a un grupo. Es una duda que plantearon hace unos días en el blog. Con otras herramientas es bastante sencillo, pero en el caso de Excel la tarea no es tan evidente. Para poder hacer gráficos de este tipo he construido una macro que podéis utilizar si previamente la adaptáis a vuestros datos. El código que podéis adaptar una vez halláis creado vuestro gráfico de dispersión es:

Truco Excel. Formatos condicionales para crear rango de colores

Un truco de Excel poco ortodoxo. Aprovechar los colores que nos ofrece un formato condicional sin necesidad de emplear el formato condicional para crear un rango de colores. Parece un trabalenguas pero puede ser muy útil cuando trabajamos con Visual Basic. En mi caso particular es muy útil disponer de estas paletas de colores para hacer mapas mucho más vistosos. El truco es muy sencillo empezamos por escribir números del 1 hasta el número de colores que deseamos y elegimos el formato condicional a aplicar: