R

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

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 mi me paralelizan”. Ese será el momento de R. ¿Lo conseguirá Microsoft? ¿Lo conseguirá Yhat?

NOTICIA: Microsoft compra Revolution Analytics

R

Noticia bomba: Microsoft compra Revolution Analytics conocida vía Emilio Lopez 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.

Reunión del grupo de usuarios de R en Madrid el 28 de enero

R

Aquí tenéis toda la información acerca de la siguiente reunión del grupo de usuarios de R en Madrid:

http://madrid.r-es.org/miercoles-28-de-enero-2015/

Estaba previsto que hablara yo mismo sobre R y SAS más concretamente realizar árboles de decisión con R pero al final no he podido por un problema. Pero en siguientes reuniones estaré ya que me gustaría iniciar una serie de monográficos que he llamado R y otros.

Truco R. Añadir una marca de agua a nuestro gráfico con ggplot2

Un breve truco que tenía en la nevera. Añadir marcas de agua a los gráficos de R realizados con ggplot2. Quería dedicar una serie de monográficos a las marcas de agua y al final nunca acabé. Para ilustrar el ejemplo vamos a graficar la serie de visitas a esta web que nos ha dado Google Analytics:

# Objeto con las visitas
visitas=c(213,376, 398, 481,416, 505, 771, 883,686, 712 ,
883,993,1234 , 1528 ,1965 ,1676 ,1037 , 1487 ,1871 ,2725 ,2455 ,2856 ,
2868,2809 ,3326 ,4284 ,4599 ,3863 ,3778 ,5090 ,5510 ,5911 ,4460 ,5495 ,5290 ,
6407,5619 ,6494 ,5854 ,4940 , 4735 ,6049 ,6839 ,8695 ,7112 ,9207 ,8991 ,
10909 , 9647 , 10943 , 9819 , 8982 ,
8597,10004,12550,12025, 9108,10664, 9563,9751 ,11402 ,11875,10395,
10078,8706,10893, 13197,12868 ,9857 ,12119 , 13421 ,14411, 12820 , 14443 , 12713 ,
13869,11740,14887,17021,16827)
serie <- ts(visitas, start=c(2008, 4), end=c(2014, 11), frequency=12)

Hemos creado un objeto serie temporal del tipo ts y aprovecho esta entrada para contaros como transformar un objeto ts en un data frame. Recordamos que ggplot2 no puede graficar objetos ts (por lo menos hasta donde yo sé). Para la transformación del objeto emplearemos la función index del paquete zoo y mi querida función melt de reshape2:

ERROR: lazy loading failed for package con WIN 8

R

Cuando instalamos paquetes de R desde github con devtools puede aparecernos ERROR: lazy loading failed for package típico de un código:

require(devtools)
install_github(‘paquete@menda’)

El RStudio bajo Win 8 R comienza a descargarse en el temporal una serie de zip que nos permiten crear el paquete y en un punto pone ** preparing package for lazy loading e inmediatamente el ERROR. Ejecutamos install.packages(‘base64enc’) y ya no tendremos ese error. No todos los procesos de instalación desde github nos indican que ese es el problema. Saludos.

Grupo de interés local de usuarios de R en Madrid

R

Lo han preguntado en otro post y prefiero que disponga de entrada propia para ayudar a las búsquedas. El contenido de las reuniones anteriores a julio de 2014 está en la siguiente dirección:

http://r-es.org/Grupo+de+Inter%C3%A9s+Local+de+Madrid+-+GIL+Madrid

Ahora ya dispone de su propia URL:

http://madrid.r-es.org/

En ella podéis encontrar todos los datos de interés sobre el grupo. El miércoles nos vemos.

Reunión Usuarios de R en Madrid. 26 de noviembre de 2014

R

El 26 de noviembre será la próxima reunión del grupo de usuarios de R en Madrid. En palabras de Carlos Ortega:

Estamos ultimando la agenda de la siguiente reunión del grupo de Madrid.
Si hay alguien interesado en presentar que se ponga en contacto conmigo,
todavía hay hueco para algo más.

Esta es la agenda tentativa:

*Fecha:* Miércoles 26-Noviembre
*Hora:* de 6:15pm a 8:30pm.
*Lugar:* Bar S-10 (¡se invitará a la primera ronda!)
*Agenda:*

- Presentaciones:
- Manuel Pérez: "Segmentación RFM (Recency - Frequency - Monetary
Value)".
- Alfonso de Uña: "Topology Data Analysis en R".
- Píldoras:
- Pedro Concejero: "Tratamiento de Fotos y sus metadatos en R".
- Otros temas internos del grupo.

Nota: Todavía no hemos actualizado el portal del grupo. Lo haremos en lo
que queda de semana.

Imprescindible en vuestra agenda y en la mía. Me veréis por allí despistado.

La mejor posición de R en tiobe

R

Ahí tenéis a R en la duodécima posición del ranking de tiobe nunca había estado tan arriba. Creo que proyectos como YHAT son los culpables de que esté pasando esto. De todas formas es importante estudiar la dispersión del rating. Habrá que ver que pasa con los siguientes rankings.

V de Cramer con R. Analizar la correlación de factores

Cómo calcular la V de Cramer con R , una pregunta que me han hecho recientemente. Sirve para medir la asociación entre factores. Además esta entrada es útil para retomar el paquete vcd de R que nos permite analizar y Visualizar Categorical Data. Partimos de un ejemplo muy sencillo:

datos = read.csv("http://www.businessandeconomics.mq.edu.au/our_departments/Applied_Finance_and_Actuarial_Studies/acst_docs/glms_for_insurance_data/data/car.csv")

summary(datos)
tabla = ftable(as.factor(datosagecat), datosarea,
dnn = c("Edad", "Valor"))
library(vcd)
assocstats(tabla)

Desconozco si existe una función que nos presente una matriz con las distintas medidas de asociación. Pero la función assocstats del paquete vcd nos ofrece:

Medir la importancia de las variables en una red neuronal con R

Sigo a vueltas con esta gran web y hoy vamos a medir la importancia de las variables en una red neuronal. Al igual que sucede en un modelo de regresión los parámetros obtenidos pueden servirnos para determinar la importancia de una variable dentro del modelo. En el caso de una red neuronal los pesos de la red pueden ser utilizados para determinar cómo influye una variable en el modelo. Para ilustrar este tipo de tareas el gran @beckmw realizó esta entrada:

¿6 grados de separación? Una simulación poco seria con R

R

Me pregunto si puedo demostrar la teoría de los seis grados de separación. Tengo muy oxidados los bucles con R. Ganas de probar Amazon Web Services.Pues manos a la obra. ¿Es posible con R establecer que una persona esté enlazada con otra en menos de 6 pasos? Hoy no voy a probrar Amazon Web Services, me voy a limitar a mostraros que se me ha ocurrido para demostrar esta teoría.

Dentro de una población un individuo manda una carta. Creamos una red de cartas y buscamos en que punto de esa red le devuelven la carta. No me atrevo a determinar el número de amigos que puede tener un individuo. Tampoco tengo tiempo para realizar una simulación con los 5.000 millones de habitantes del planeta. Así que os planteo una simulación muy poco seria con R. Muy sencillo:
######################################################
#La población es de 5.000.000 personas
poblacion = 5000000