Trucos Excel. Repetir filas con DESREF

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á referencia a la celda A2. Para repetir, lo que haremos será algo de este estilo: ...

23 de febrero de 2015 · rvaquerizo

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

Escribir sobre el BDT de Madrid me ha hecho recordar mi trabajo con spatial 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. 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. ...

20 de febrero de 2015 · rvaquerizo

Mapas de la provincia de Madrid con BDT

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 tres minutos. ...

16 de febrero de 2015 · rvaquerizo

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 por qué no lo implementa SAS que calcularlo. A continuación tenéis una sencilla macro que calcula el percentil con el método de Excel: ...

16 de febrero de 2015 · rvaquerizo

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

Con shinyUI creamos la interfaz 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 nuestra interfaz. Cada vez me recuerda más a SAS AF o AppDev Studio, lenguajes de programación que tengo más olvidados que el JCL. No es programar en R, aunque no es tan difícil como mi querido Tcl/Tk. Saludos.

13 de febrero de 2015 · rvaquerizo

Aprendiendo shiny. server.R ui.R

Sigo con Shiny y RStudio a ver qué 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, 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. ...

2 de febrero de 2015 · rvaquerizo

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") library(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 de Windows (ruta aproximada) C:\Users\fulanito\Documents\R\win-library\x.x\shiny\examples\05_sliders. Sin embargo, nosotros vamos a copiar y pegar esta carpeta en una nueva ubicación, le damos el nombre prueba y abrimos server.R: ...

1 de febrero de 2015 · rvaquerizo

Cuando paralelizar procesos con R era otra cosa

Allá en noviembre de 2011, en las III Jornadas de Usuarios de R en España, José Ramón Díaz Uriarte nos habló de paralelizar procesos con R, los principios de ese concepto que han denominado Big Data: http://usar.org.es/pdfs/Diaz_Uriarte-final.pdf Han avanzado los tiempos en el mundo de R y de la paralelización de procesos. Y es quizá lo que hará que R sobreviva frente a otras herramientas que no se han subido al carro por ser encapsuladas y «oscuras» (se me ocurren algunas). El problema es que perdemos mucho tiempo montando complejos sistemas, tiempo que podría ser empleado en un trabajo que aportara más valor. Necesitamos oír la expresión «yo no paralelizo, a mí me paralelizan». Ese será el momento de R. ¿Lo conseguirá Microsoft? ¿Lo conseguirá Yhat?

27 de enero de 2015 · rvaquerizo

NOTICIA: Microsoft compra Revolution Analytics

Noticia bomba: Microsoft compra Revolution Analytics, conocida vía Emilio López Cano (@emiliolopezcano). El gigante ha comprado la principal “ala comercial” de R. Los detalles de la compra en el siguiente enlace de su blog corporativo: http://blogs.microsoft.com/blog/2015/01/23/microsoft-acquire-revolution-analytics-help-customers-find-big-data-value-advanced-statistical-analysis/ La va a preparar buena con Microsoft Azure. Por otro lado, la respuesta de David Smith: http://blog.revolutionanalytics.com/2015/01/revolution-acquired.html Auguro y, sobre todo, deseo mucho éxito a este nuevo proyecto.

23 de enero de 2015 · rvaquerizo

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 hayáis creado vuestro gráfico de dispersión es: ...

21 de enero de 2015 · rvaquerizo