miércoles, 30 de julio de 2014

La prensa se hace eco de nuestra investigación: modelos matemáticos y rendimiento del maíz en España


          Hace unos días se ha publicado en las noticias del CSIC nuestra reciente publicación en PLOS sobre el estudio de la dinámica espacio-temporal del rendimiento del maíz bajo efectos del Cambio Climático en España, comparando sistemas de regadío y secano. Por suerte nuestros hallazgos están teniendo mucho eco mediático; les dejo un trozo de la noticia y los principales resultados del estudio.

Un modelo matemático explica la dinámica de productividad de las cosechas de maíz
Un equipo de investigadores del Consejo Superior de Investigaciones Científicas (CSIC) y de la Pontificia Católica Universidad de Chile ha desarrollado un modelo matemático para explicar y predecir la dinámica de productividad de las cosechas de maíz. Este trabajo se centra en la comparación del rendimiento de los cultivos de maíz con y sin riego ante los efectos combinados del cambio climático y la escasez de agua. El estudio se publica en la revista PLOS ONE. Enlace a la noticia en la página del CSIC.

El problema a resolver
            Para alimentar a una población mundial cada vez más numerosa debemos aumentar la producción agrícola. Dicho incremento está limitado por los efectos combinados del cambio climático y la escasez de agua. El reto es satisfacer la futura demanda de alimentos de manera sostenible.
            España es un “punto caliente” en las predicciones del calentamiento climático. Se predice menores disponibilidades de agua para el riego y eventos climáticos extremos, especialmente para la zona Mediterránea. Incluso, algunos estudios pronostican que se podría necesitar transladar los cultivos del maíz a zonas del norte del territorio Español.
            Para mitigar y adaptarse a ese nuevo escenario se necesita mejorar la gestión del agua de riego. En este sentido, hemos evaluado los efectos del cambio climático en los cultivos de secano y regadío, detectando qué provincias españolas se han visto amenazadas y en cuáles el riego fue efectivo a la hora de mitigar estos efectos adversos.



Objetivos específicos
  •       Determinar dónde y cómo la variabilidad climática (temperatura, precipitación, dióxido de carbono CO2) ha afectado la producción de maíz en España bajo condiciones con y sin riego. Este es el primer estudio que evalúa mediante modelos matemáticos los mecanismos biológicos invoucrados en la relación clima-cultivo.
  •       Cuantificar la importancia relativa de las variables climáticas en estas dos condiciones de manejo de agua. Se trata del primer estudio que compara el comportamiento de los sitemas de cultivo con y sin riego.
  •       Estimar el rendimiento potencial de cada provincia, bajo estas condiciones de manejo de agua, y evaluar las pérdidas de rendimiento potencial que se deben al estrés hídrico. Para este punto, hemos desarrollado una herramienta capaz de estimar el rendimiento potencial del maíz en cada provincia a partir de los datos históricos de los cultivos a nivel provincial. Esto es de especial importancia ya que el paso a seguir, y estamos trabajando en ello, será poder crear mapas con los rendimientos potenciales de cada provincia y así predecir qué zonas serán las más vulnerables y cuáles las más beneficiadas. Es decir, poder tomar decisiones de gestión a partir mapas espacio-temporales de producción.
Definición de las provincias de estudio con el porcentaje de producción respecto al total nacional para el período 1996-2009. Solo se han considerado aquellas provincias que presentaron tanto cultivo en secano como en regadío.


Metodología
            Para responder a estos objetivos y estimar el rendimiento máximo sostenible de los cultivos desarrollamos una nueva herramienta matemática inspirada en modelos de dinámica poblacional (ver 1). Con los modelos creados es posible saber, por ejemplo, qué cultivos se ven afectados por el cambio climático y cómo es este efecto o qué mecanismos biológicos se ven afectados. En este estudio, utilizamos datos públicos del Ministerio de Agricultura, Alimentación y Medio Ambiente (MAGRAMA) del rendimiento del maíz en 31 provincias de España desde 1996 al 2009, comparando el desempeño del maíz en dos sistemas de manejo distintos: con y sin riego.

HALLAZGOS
  •             La temperatura durante el período de crecimiento del cultivo fue la variable climática más importante, en línea con otros estudios mundiales. Pero aquí hemos detectado 3 nuevos aspectos: 1) que los efectos de la temperatura son distintos para cultivos con y sin riego (ver 2); 2) que los valores extremos fueron los más relevantes (ver 3), y 2) que la temperatura actúa principalmente mediante efectos no aditivos, es decir, sus efectos son más severos cuando el maíz presenta un alto rendimiento (ver 4). Este es el primer estudio que identifica los mecanismos biológicos detrás de las respuestas no lineales del cultivo ante el cambio climático (anteriormente se han propuesto modelos de umbrales que responden a necesidades estadísticas más que biológicas).
  •             Encontramos principalmente efectos negativos del aumento de la temperatura para los sistemas de secano, más acusados en el sur del país. La temperatura produce estrés hídrico, debido a que afecta tanto a la demanda como a la oferta de agua.
  •          Para los sistemas de riego hemos encontrado que, algunas provincias (como la de León), se benefician en cierta medida ante el aumento de la temepratura. Este beneficio es leve, y debemos recordar que hace referencia a los años 1996-2009; puede que en el futuro, ante un mayor aumento de la temperatura estos beneficios desaparezcan cuando se sobrepase el rango de tolerancia del cultivo. Sin embargo, es interesante destacar que en estas provincias se ha conseguido una ventaja climática en el rendimiento del maíz gracias al riego. La causa de esta ventaja puede deberse a una cierta tolerancia al calor o a un efecto de enfriamiento debido al riego.
  •         Las pérdidas de rendimiento del maíz debido al estrés hídrico fueron generalmente mayores al 50% (es decir, los sistema bajo riego presenataron en promedio un 50% más de rendimiento potencial en comparación con los sistemas de secano). El riego es un factor clave que explica la brecha del rendimiento del maíz (yield gap), brecha que se acentúa con el calentamiento (provincias con elevadas temperaturas tienen mayor brecha del rendimiento al comparar regadío y secano).

Efectos de la temperatura, precipitación y emisiones de dióxido de carbono CO2 en el rendimiento del maíz para cultivos en secano y regadío.  



EN DETALLE (CUESTIONES NO MENOS IMPORTANTES)
           
  •       1.     Modelos matemáticos. Los modelos de dinámica poblacional permiten el tratamiento matemático de cualquier fenómeno dinámico, es decir, cualquier fenómeno que incluya magnitudes que cambian con el tiemo (o con otras magnitudes). Entre los campos de aplicación de estos modelos se encuentran la Física, Química, Biología y Economía, entre otros. Cabe destacar que el padre de estos modelos es el economista Thomas Malthus (1766-1843) quién, mediante estos modelos, influyó enormemente en los estudios de Charles Darwin (1809 – 1882). Aquí, hemos modelado el rendimiento del cultivo según sus valores de rendimiento año a año y evaluando explícitamente los efectos del clima sonbre parámetros biológicos del cultivo. Estos modelos nos permiten estimar el rendimiento potencial sostenible del cultivo, algo así como la capacidad de carga del sistema para sostener dicha producción.

  •       2.    Secano vs. regadío. El maíz bajo secano fue afectado negativamente por las olas de calor, particularmente en Sevilla, Cádiz, Almería, Navarra y Ávila. Sin embargo, bajo regadío, el maíz mostró algún grado de tolerancia al calentamiento (excepto en Almería y Ourense).


La precipitación no fue importante para sistemas de riego, como era de esperar, pero fue importante en algunas provincias bajo secano. Para estos últimos, detectamos efectos positivos de la precipitación en Teruel y Soria, y negativos en Córdoba, Zaragoza.
El nivel de dióxido de carbono (CO2) afectó negativamente al cultivo de regadío en Lugo, y al de secano en Ourense y Soria; mientras que benefició al cultivo de secano en Ávila.

  •       3.     Valores extremos. Los valores extremos son más importantes que los valores medios. Detectamos que la temperatura mínima (nocturna) fue el factor dominante de la producción de maíz. Este hallazgo coincide con otros estudios mundiales en otros cultivos, y todo indica que se debe a que acorta el período de llenado de grano y aumenta la tasa de crecimiento del grano, disminuyendo su rendimiento final. Nuestros resultados resaltan la importancia de incluir estas variables extremas en próximos estudios.

  •       4.    Efectos no lineales. Nuestros resultados indican que el calentamiento produce mayores efectos en aquellos cultivos con alto rendimiento. Cuando el cultivo tiene un mayor rendimiento, y por tanto una mayor demanda de nutrientes, el efecto de la temperatura es mayor; la temperatura actúa sobre los recursos limitantes (agua, nitrógeno N, etc.) de los cultivos. Estos resultados contradicen el uso general de estadísticos como el grados-día (growing degree days GDDs and killing degree days KDDs for climate), que asumen que el efecto de la temperatura sobre el cultivo es el mismo, sea cual sea el rendimiento de dicho cultivo. Como consecuencia de nuestros hallazgos, sugerimos que los cultivos de maíz con alto rendimiento son especialmente vulnerables a las variaciones ambientales o, lo que es lo mismo, que los cultivos de bajo rendimiento son adecuados para condiciones adversas (o de bajos recursos).

  •       5.     Estructura del rendimiento del maíz. Hemos descubierto que los sistemas de producción de cultivos presentan una estructura propia que determina su estabilidad ante perturbaciones ambientales. Hemos demostrado que cuando esta estructura presenta retroalimentaciones negativas, como el termostato que regula un calefactor, los rendimientos de los cultivos son más estables. Un resultado impactante respecto a la estructura del rendimiento del maíz, es que ésta fue la misma bajo secano y regadío. Esto se debe a que los cultivos registran la información proveniente del ambiente y del medio interno de la planta y a partir de ella regulan el funcionamiento de órganos y sistemas. Es decir, el cultivo ajusta sus procesos internos en función de esta información, y reduce así la probabilidad de que un cambio en las condiciones ambientales provoque un colapso en la producción del cultivo. Sin embargo, la estabilidad del rendimiento del cultivo puede verse afectada por el cambio climático, cuando las variaciones del clima se vuelven más pronunciadas y extremas. Estos hallazgos son importantes a la hora de preveer cuán resistentes serán los cultivos al cambio global, es decir, cuál es la magnitud de la perturbación ambiental que el cultivo puede absorber o amortiguar antes de que colapse o en qué momento es más efectivo manipular el cultivo para mitigar los efectos negativos del clima.



CONCLUSIONES
            El cambio climático no ha tenido efectos uniformes en España y la efectividad del riego para mitigar estos cambios varió también de manera espacial debido al efecto de la temperatura. Hemos obtenido un mapa heterogéneo de vulnerabilidades y potencialidades a partir del cual desarrollar las estrategias de adaptación y mitigación del cambio climático en España. Las herramientas propuestas en este estudio explican de manera adecuada los datos históricos observados, permiten detectar los mecanismos biológicos involucrados en los efectos del cambio climático y estimar el rendimiento potencial del cultivo ante diversas situaciones. A partir del conocimiento obtenido podremos estimar, a medio y largo plazo, las proyecciones del rendimiento del maíz en España (un trabajo que estamos desarrollando actualmente). Asimismo, las herramientas que hemos propuesto podrán ser empleadas en otros cultivos y otras regiones claves para asegurar las necesidades alimentarias en un futuro próximo.

Pérdidas de rendimiento en el maíz debidas a valores sub-óptimos de disponibilidad de agua (YGRw; %). Este porcentaje de pérdida de rendimiento indica qué tan similares son los rendimientos potenciales del maíz bajo secano y regadío para la provincia dada.



REFERENCIA
Ferrero, R., Lima, M., & Gonzalez-Andujar, J. L. (2014). Spatio-Temporal Dynamics of Maize Yield Water Constraints under Climate Change in Spain. PloS one, 9(5), e98220. Disponible en:


EQUIPO DE TRABAJO
            Nuestro equipo estuvo formado por investigadores del Consejo Superior de Investigaciones Científicas (CSIC), de la Pontificia Católica Universidad de Chile (PUC), del Laboratorio Internacional en Cambio Global (LINCGlobal) y del Center of Applied Ecology and Sustainability (CAPES).

Affiliations: Rosana Ferrero1,4*, Mauricio Lima2,3,4, Jose Luis Gonzalez-Andujar1,3
1Departamento Protección de Cultivos, Instituto de Agricultura Sostenible, Consejo Superior de Investigaciones Científicos (CSIC), Córdoba, Spain.
2Departamento de Ecología, Pontificia Universidad Católica de Chile, Santiago, Chile.
4Center of Applied Ecology and Sustainability (CAPES), Santiago, Chile.
3Laboratorio Internacional de Cambio Global, LINCG (CSIC-PUC), Santiago, Chile.




viernes, 30 de mayo de 2014

Logo, vuelve la tortuga con TurtleGraphics en R!

No pude contenerme. Navegando en busca de ampliar algunas herramientas de R, me he topado con este proyecto que me ha recordado mi niñez. Se trata del paquete  TurtleGraphics que acerca a R el programa Logo. Logo es un lenguaje de programación creado por los años sesenta y que sirve para trabajar con niños y jóvenes dado que es muy sencillo. Recuerdo conocerlo gracias al profesor de informática de la escuela cuando era muy pequeña; era aquella tortuga que hacíamos girar y crear mandalas con algunas pequeñas órdenes. Bueno, la tortuga ha dado el salto y ya está en R! me parece genial esta oportunidad de acercar el lenguaje de programación a los niños y además enseñarles programas con tanto potencial como R.

Aquí tienen un manual Paso a Paso para aprender a manejar esta tortuga en R.  Con una lista de órdenes sencillas podemos crear gráficos como el siguiente:



Fundamentalmente consiste en presentar a los niños retos intelectuales que puedan ser resueltos mediante el desarrollo de programas en Logo. El proceso de revisión manual de los errores contribuye a que el niño desarrolle habilidades metacognitivas al poner en práctica procesos de autocorrección. Es conocido por poder manejar con facilidad gráficas tortuga, listas, archivos y recursividad
instalaciones conocidas en el lenguaje de programación Logo. La idea clave detrás del paquete es animar a los niños a aprender a programar y demostrar que el trabajo con los ordenadores puede ser divertido y creativo. 

Sobre el paquete  TurtleGraphics
El paquete TurtleGraphics permite crear gráficos simples o más sofisticados sobre la base de líneas. La tortuga, descrito por su ubicación y orientación, se mueve con comandos que están en relación con su posición. La línea que deja tras de sí se puede controlar mediante la desactivación o estableciendo su color y tipo.
El paquete TurtleGraphics ofrece funciones para avanzar o retroceder por una distancia determinada y girar la tortuga por un ángulo elegido. Distintas opciones de gráficos, por ejemplo, el color, el tipo o la visibilidad de la línea, también se pueden cambiar fácilmente. 
Le recomendamos que lo pruebes tú mismo. Disfrutar y divertirse!

sábado, 3 de mayo de 2014

GAPMINDER: cómo ha cambiado el rendimiento del cultivo de cereales, por país, en el tiempo.

ver www.bit.ly/czPcDn
Gapminder Agriculture is a collection of 700 indicators from the Food and Agriculture Organization (FAO) on production of fruits, livestock (animals), oil crops and more. This graph shows the net production of cereals per person (on the y-axis).The size of the bubbles represents the total cereal production in the country. Australia has highest production per capita, but as a total, China produces most, followed by the US.

viernes, 2 de mayo de 2014

Segunda Escuela Iberoamericana de Cambio Global. Río de Janeiro, Brasil.

ATENCIÓN!!!!!


Evento: Segunda Escuela Iberoamericana de Cambio Global


Tema: Cambio Global y Procesos de Retroalimentación


Lugar: Río de Janeiro, Brasil.
Promotor: LINCGlobal
Contato: lincglobalufrj@gmail.com 
WEB: https://www.facebook.com/pages/Simpósio-de-Mudanças-Globais-RJ/431275163681874?fref=ts

•       Simposio: 15 a 17 de Setembro de 2014
•       Workshop: 18 a 20 de Setembro de 2014
•       Curso de Post-Graduación: 2 a 30 de Setembro de 2014

Conferencistas confirmados: 

CSIC/ Espanha Fernando Valladares, Blas Valero, Miguel Araujo, Francisco Puignaire, Ana Moreno, Jose Luiz Pellegri, 
PUC/ Chile Pablo Marquet, Ernesto Gianolli, Claudio Latorre, Gaxiola Aurora. 
UFRJ-UFF-UERJ-UNIR/ Brasil Olaf Malm, Alex Enrich Prast, Humberto Marotta, Mariana Valle, Mario Soares, Wanderley Bastos

Habrá presentación de trabajos en forma de Panel. 

Prepara tu currículum! Debe contener el título del trabajo, autores e instituciones, breve introducción, objetivo, resultado y conclusión. No requiere la inclusión de figuras y metodología. El resumen no debe exceder 1 hoja A4, letra Times New Roman, tamaño 12.


jueves, 1 de mayo de 2014

Mendeley: gestor de referencias bibliográficas, interfaz con Word y citas-Web

¿Qué es Mendeley? Free reference manager and PDF organizer

Mendeley está formado por un gestor de referencias bibliográficas (Mendeley Desktop, versión local) y una red social académica (Mendeley web, versión web). Por tanto, permite encontrar, gestionar y compartir documentos de investigación y colaborar en línea con otros investigadores.

Principales ventajas

  • Crear carpetas
  • Añadir referencias manualmente, mediante web o pdf.
  • Completar datos bibliográficos a mano o ayudarnos con Google Scholar.
  • Insertar referencias en Word (con diversos estilos).
  • Editar y clasificar los documentos (girar, eliminar duplicados, etc.).
  • Resaltar y realizar anotaciones; y exportarlas.
  • Buscar duplicados
  • Sincronizar con Mendeley web
  • Importar citas desde la web
  • Trabajar con los documentos
  • Elegir el estilo de la cita bibliográfica.
Les recomiendo mirar el tutorial de Julio Alonso de la Universidad de Salamanca y la guía de uso de Carmen Rodríguez (ver debajo).



Comparación de softwares de manejo de referencias.

Desarrollado por Elsevier se trata de un software que no es de acceso libre (si gran contra), pero ofrece 2 GB de espacio online y gratuito para nuestros documentos (a diferencia de los 300 MB que ofrece Zotero) y trabaja con Windows, Linux, OS X, iPhone & iPad (ver comparación con otros softwares).

Soporte

  • Importar documentos
  • Generar citas
  • Organizar tu librería
  • Grupos públicos y privados en Mendeley
  • Crear tu perfil Mendeley

Videos & Tutorials

Learn quickly how to use Mendeley features with these short videos, tips and tricks.
View all videos



domingo, 27 de abril de 2014

Graficar con estilo xkcd en R!

Ahora podemos crear gráficos en R con el estilo xkcd! 




Web: http://xkcd.com


Los comics xkcd son creados por Randall Munroe ("un cómic web de romance, sarcasmo, matemáticas e idioma" -en español-), un diseñador de robots de la NASA, natural de Chesterfield, Virginia (actualmente vive en Somerville, Massachusetts).

Para crear nuestros propios gráficos debemos instalar el paquete xkcd. En el propio paquete, se encuentran ejemplos de gráficos de puntos, histogramas, etc.

library(xkcd)
vignette("xkcd-intro")
Por ejemplo, podemos crear el siguiente gráfico:

sábado, 26 de abril de 2014

Knitr: integrar código R en archivos de distintos formatos

Knitr

Knitr es un paquete nuevo de R que permite integrar código R en archivos de distintos formatos (ver tabla 1 y figura 1). Es más potente que los anteriores paquetes Sweave, pdfSweave o cacheSweave.
Ver la entrada anterior sobre knitr.

Format Source file ending Output R Code Chunk R expression
Rnw Rnw (.Rnw) Tex, pdf
<<R example>>=
x <- 1+1
rnorm(5)
@
\Sexpr{pi}
Github format markdown Markdown (.Rmd or .md) md, html
``` {r example}
x <- 1+1
rnorm(5)
```
`r pi`.
HTML Rhtml .html
<!--R example
 x <- 1+1
 rnorm(5)
 end.rcode-->
<!--rinline pi -->
 
reStructuredText .Rst .rst .. {R example}
.. x <- 1+1
.. rnorm(5)
.. ..
NOTE:include space after the ..
:r:`pi`

Tabla 1. Tipos de archivos que maneja knitr. Fuente: http://www.rstudio.com/shiny/




Aquí tienes una introducción al paquete knitr.

Knitr nos permite utilizar Markdown y R juntos! 

¿Que puede hacer markdown por mi?

  •  Quiero olvidarme del instrumento para pensar sólo en lo que estoy escribiendo
  •  Quiero escribir sin preocuparme del aspecto
  •  Quiero reutilizar lo que ya sé
  •  Quiero índices, bibliografía, …
  •  Quiero documentos ligeros
  •  Quiero escribir como me convenga, para el lector lo que necesite
  •  Quiero poder recortar y pegar a sin problemas
  •  Quiero trabajar con mis colegas

Proceso en investigación reproducible

  1. Elaboración del documento donde se auna la escritura del código y los textos necesarios. En markdonw y R la extensión del fichero es .Rmd
  2. Procesado del documento por la aplicación correspondiente a lenguaje de trabajo, en nuestro caso R. Creación de un documento en el formato deseado; en nuetro caso un documento .md
  3. Procesado, en su caso, del documento resultante, por ejemplo: elaboración de un documento .pdf.

Para un adecuado seguimiento del trabajo, al final o el inicio, conviene añadir:

print(sessionInfo(), locale = FALSE)

Tipos de archivos que podemos generar

En un post anterior, he colgado un video sobre cómo usar knitr, mediante archivos Rnw y Rmd.

Rnw

Descargar el archivo exampleSweave.rnw.
  • Para construir un archivo tex.
Sweave(file="exampleSweave.Rnw")
  • Para convertir el archivo tex a un pdf.
tools::texi2dvi(file="exampleSweave.tex", pdf=TRUE)

  • Para extraer el código R de los trozos o módulos ("chunks").
Stangle(file="exampleSweave.Rnw")
  • Para producir un archivo html.
Sweave("filename.rnw", driver=RweaveHTML)


    library(knitr)
    knit('knitr-minimal.Rnw')

También podemos utilizar el programa pandoc (conversor universal) para convertir el archivo Rnw a otros formatos:

# system("pandoc -s exampleSweave.Rnw -o exampleSweave.pdf") 
# system("pandoc -s exampleSweave.Rnw -o exampleSweave.docx")
# system("pandoc -s exampleSweave.Rnw -o exampleSweave.html")




Rmd


# Create mark down (.md) file 
knit("example.Rmd")
knit2html("example.Rmd")
knit2pdf("example.Rmd")

 manipular
require(knitr)
# Produce the markdown (.md) file
knit("example.Rmd")

# help on the output and input formats accepted which include json, html, html5, odt, docx and epub and slide formats slidy, beamer, dzslides etc
system("pandoc -h")
# pdf file
pandoc("example.md", format="latex")
# html file
pandoc("example.md", format="html5+lhs")
# OpenOffice File
pandoc("example.md", format="odt")
# Microsoft Word
pandoc("example.md", format="docx")

Podemos ver el archivo Rmd de entrada slides.Rmd y el archivo html de salida slides.html.

También podemos utilizar pandoc de la siguiente manera.

knit("slides.Rmd")
 system("pandoc -s -S -i -t dzslides --mathjax slides.md -o slides.html")



Programas relacionados con knitr

Slidify: resultados html5

Un paquete relacionado con knitr es Slidify (http://ramnathv.github.io/slidify/), que permite realizar presentaciones html5 a partir de nuestros archivos Markdown.
Ayuda a crear, personalizar y compartir documentos elegantes, dinámicos e interactivos a través de HTML5 - R - Markdown.






 

Información extra que puedes necesitar.

  • Cómo instalar Lyx-LATEX



  • Diferencias entre Sweave y Knitr


  • Instalación de Pandoc

Los usuarios de Windows están de suerte. Instalar Pandoc en Windows ahora es muy fácil. Se puede hacer desde R con el paquete installr. Una vez instalado este paquete en R, ejecutaremos la instrucción

library(installr)
install.pandoc()


  • Utilizar pander: el paquete Pandoc en R


Shiny: crear una aplicación web interactiva (apps) desde R.

Shiny: resultados interactivos o programación reactiva.


¿Qué es Shiny?

Shiny es una herramienta para crear fácilmente aplicaciones web interactivas (apps) que permiten a los usuarios interactuar con sus datos sin tener que manipular el código.

La programación Reactiva enfatiza el uso de:

  • Valores que cambian en el tiempo
  • Expresiones que registran esos cambios
  • Ver el ejemplo que hemos publicado en este mismo blog.


¿Necesito ser un programador web para su uso?

No hace falta conocimiento de HTML o JavaScript, solo conocer R.

¿Para qué sirve?

La programación Reactiva enfatiza el uso de: 
  • Valores que cambian en el tiempo
  • Expresiones que registran esos cambios

Hagamos un ejemplo



Lo primero que se necesita es instalar el paquete:

> install.packages("shiny")

Para obtener un ejemplo sencillo de Shiny podemos "correr" el ejemplo "Hola Shiny" que realiza unhistograma y permite a los usuarios cambiar el número de intervalos en el gráfico.

> library(shiny)
> runExample("01_hello")

La aplicación tiene 2 componentes:

  1. una secuencia de comandos de interfaz de usuario (UI, archivo ui.R), que controla el diseño y aspecto de la aplicación.
  2. una secuencia de comandos del servidor (server.R), que contiene las instrucciones que su equipo necesita para construir su aplicación.


En este ejemplo:

ui.R

library(shiny)

# Define UI for application that draws a histogram
shinyUI(fluidPage(

  # Application title
  titlePanel("Hello Shiny!"),

  # Sidebar with a slider input for the number of bins
  sidebarLayout(
    sidebarPanel(
      sliderInput("bins",
                  "Number of bins:",
                  min = 1,
                  max = 50,
                  value = 30)
    ),

    # Show a plot of the generated distribution
    mainPanel(
      plotOutput("distPlot")
    )
  )
))

server.R

library(shiny)

# Define server logic required to draw a histogram
shinyServer(function(input, output) {

  # Expression that generates a histogram. The expression is
  # wrapped in a call to renderPlot to indicate that:
  #
  #  1) It is "reactive" and therefore should re-execute automatically
  #     when inputs change
  #  2) Its output type is a plot

  output$distPlot <- renderPlot({
    x    <- faithful[, 2]  # Old Faithful Geyser data
    bins <- seq(min(x), max(x), length.out = input$bins + 1)

    # draw the histogram with the specified number of bins
    hist(x, breaks = bins, col = 'darkgray', border = 'white')
  })
})

Ejecutar la aplicación

> library(shiny)
> runApp("my_app")

Para ejecutar la aplicación, se utiliza la función runApp con el nombre del directorio donde se encuentran los archivos anteriores.

También se puede correr la aplicación desde cualquiera de los dos archivos en el editor de texto RStudio, mediante el botón que se marca debajo (RStudio reconoce automáticamente que se trata de un código de una aplicación):







Para crear su propia aplicación Shiny:

  • Crear un directorio para la aplicación. 
  • Guardar los archivos server.R y ui.R dentro de ese directorio. 
  • Iniciar la aplicación con los métodos indicados en Rstudio. 
  • Salir de la aplicación haciendo clic en escape.

Una forma sencilla para comenzar a diseñar la aplicación, es partir de uno de los ejemplos propuestos en RStudio.

system.file("examples", package="shiny")

runExample("01_hello") # a histogram
runExample("02_text") # tables and data frames
runExample("03_reactivity") # a reactive expression
runExample("04_mpg") # global variables
runExample("05_sliders") # slider bars
runExample("06_tabsets") # tabbed panels
runExample("07_widgets") # help text and submit buttons
runExample("08_html") # shiny app built from HTML
runExample("09_upload") # file upload wizard
runExample("10_download") # file download wizard
runExample("11_timer") # an automated timer