Skip to content

Utilización de Jupyter Notebook con R. (Herramienta didáctica)

License

Notifications You must be signed in to change notification settings

NachusS/Introduccion-R-Jupyter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduccion-R-Jupyter

Utilización de Jupyter Notebook con R. (Herramienta didáctica)

Seminario utilización Jupyter Notebook con R, en clase.

Esta documentación ha sido clonada del (Sitio web del curso de R)

Autor: (Cesar Lara)

Introducción

En este seminario se pretende mostrar la facilidad de manejo y las múltiples posibilidades que tenemos al utilizar Jupyter notebook, con R o Python, tanto en clase, pŕácticas o entrega de Informes finales.

Se usará un kernel nativo de R, sobre Jupyter descargado a traves de Anaconda, además de otras herramientas mencionadas abajo.

R como lenguaje de programación y multiparadigma, plantea un modo distinto de escribir código, por lo que precisa de ciertos requisitos, que se enumeran a continuación:

Elementos Clave

  • Manejo de línea de comandos y Markdown.
  • Uso de Git y Github.
  • El lenguage de programación R.
  • R básico.
  • Gráficos.

Software

Anaconda

Anaconda es una distribución completa libre de Python incluye paquetes de Python .

Anaconda incluye los instaladores de Python 2.7 y 3.5. La instalación en Linux, se encuentra en la página de Anaconda y es más o menos así,

  • Descargar el instalador de Anaconda para Linux.

  • Después de descargar el instalar, en el terminal, ejecuta para 3.5.

bash Anaconda3-2.4.1-Linux-x86_64.sh

Instalando Anaconda con su navegador, en l aúltima versión ya viene preparado la descarga del lenguaje R, para que se pueda utilizar con los notebooks. De todas formas aqui explico, como se puede instalar desde la linea de comandos, si ya se tuvieviera instalado Anaconda.

Es recomendable leer, alguna de las característica de Anaconda en el siguiente material conda 30-minutes test drive.

Otros proyectos y librerias interesantes para utilizar con este entorno:

  • La instalación de paquetes como seaborn o bokeh se pueden realizar a través de Anaconda, de la siguiente manera:
 conda install bokeh

Alternativamente podemos desde PyPI usando pip:

pip install bokeh

El proyecto Anaconda ha creado R Essentials, que incluye el IRKernel y alrededor de 80 paquetes para análisis de datos, incluyendo dplyr, shiny, ggplot2,caret, etc. Para instalar R Essentials en un entorno de trabajo, hacemos

 conda install -c r r-essentials

Proyecto Jupyter y el Jupyter Nbviewer

El Proyecto Jupyter es una aplicación web que te permite crear y compartir documentos que contienen código de diversos lenguajes de programación, ecuaciones, visualizaciones y texto en diversos formatos. El uso de Jupyter incluye la ciencia de datos, simulación numérica, la modelización en estadística, Machine Learning, etc.

Jupyter nbviewer es un servicio web gratuito que te permite compartir las versiones de archivos realizados por Jupyter, permitiendo el renderizado de diversos fórmatos incluyendo, código latex.

Unofficial Jupyter Notebook Extensions contiene una colección de extensiones no oficiales de la comunidad que añaden funcionalidad a Jupyter notebook. Estas extensiones están escritas principalmente en Javascript y se cargarán localmente en su navegador.

 pip install jupyter_contrib_nbextensions

O utilizando conda

conda install -c conda-forge jupyter_contrib_nbextensions

Kernel de bash en Jupyter

  • Las notas sobre comandos Linux (clase1) se usado el kernel de Bash de Jupyter:

    pip install bash_kernel
    python -m bash_kernel.install
    

Git y Github

Git es un sistema de control de versiones de gran potencia y versatilidad en el manejo de un gran número de archivos de código fuente a a través del desarrollo no lineal, es decir vía la gestión rápida de ramas y mezclado de diferentes versiones.

Para poder revisar y aprender los comandos necesarios de Git, puedes darle una ojeada al excelente tutorial de CodeSchool o a la guía de Roger Dudle para aprender Git.

Github es una plataforma de desarrollo colaborativo de software utilizado para alojar proyectos (muchos proyectos importantes como paquetes de R, Django, el Kernel de Linux, se encuentran alojados ahí) utilizando Git y el framework Ruby on Rails.

Podemos instalar Git en Ubuntu utilizando el administrador de paquetes Apt:

c-lara@Lara:~$sudo apt-get update
c-lara@Lara:~$sudo apt-get install git

Referencias y Lecturas

Existe un versión de git para Windows, que se puede descargar aquí, así como también una lista de GUI, que podemos usar en Windows: Lista de GUI para git.

R y Rstudio

R y RStudio . RStudio es un IDE para R. Es software libre con licencia GPLv3 y se puede ejecutar sobre distintas plataformas o incluso desde la web usando RStudio Server.

wget https://download1.rstudio.org/rstudio-0.99.893-amd64.deb
sudo dpkg -i *.deb
rm *.deb

Para actualizar R se podría escribir en el terminal

sudo echo "deb http://cran.rstudio.com/bin/linux/ubuntu precise/" | sudo tee -a /etc/

R Presentations

R presentations son una característica de RStudio que permiten la creación fácil de presentaciones HTML5 utilizando una combinación de Markdown y R.

El objetivo de R Presentations es crear diapositivas que hagan uso de código R y de ecuaciones de LaTeX tan sencillas como sea posible. Son especialmente útiles para el uso en el aula o en la enseñanza, ya que se puede presentar mostrar código durante la presentación.

ggplot2

ggplot2 es un paquete pata gráficos de R, basado en basado en Grammar on Graphics de Wilkonson y está formado de un conjunto de componentes independientes que pueden ser usadas de muchas maneras diferentes. La forma de instalar este paquete es de la forma habitual

install.package('ggplot2')

La sintaxis es un poco distinta, como indica el siguiente ejemplo

geom_lm <- function(formula = y ~ x, colour = alpha("steelblue", 0.5), 
                    size = 2, ...)  {
  geom_smooth(formula = formula, se = FALSE, method = "lm", colour = colour,
    size = size, ...)
}
ggplot(mpg, aes(displ, 1 / hwy)) + 
  geom_point() + 
  geom_lm()
ggplot(mpg, aes(displ, 1 / hwy)) + 
  geom_point() + 
  geom_lm(y ~ poly(x, 2), size = 1, colour = "red")

Mayor información en la documentación de ggplot2.

El paquete gglot2, tiene una lista de extensiones, para aumentar la funcionalidad y la interacción en los gráficos.

R Markdown

R Markdown es un framework para ciencia de datos de manera que puede crear reportes dinámicos con R, además de ejecutar y guardar código. Por ejemplo sea un tabla en markdown con R.

cat("x | y", "--- | ---", sep="\n")
cat(apply(df, 1, function(X) paste(X, collapse=" | ")), sep = "\n")

R Markdown soporta formatos de salida estáticos y dinámicos que incluye hTML, pdf, beamer-latex, html5T, shiny,etc.

Más información:

R Notebooks

Un R Notebooks es un documento R Markdown, que permite mostrar independientemente e interactivamente , código R y sintaxis de otros lenguajes. Es una manera fácil de generar reportes, análisis estadísticos, visualización de datos.

Más información en la página de R Notebooks.

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, usando un paradigma conocido como programación reactiva que enfatiza valores que cambian en el tiempo y expresiones que registran esos cambios. Para sacar el máximo partido de Shiny, se debe entender el modelo de programación reactiva que se utiliza.

Más información en el tutorial de Shiny

Knitr

knitr fue diseñado para ser una máquina de generación dinámica de reportes o documentos que son una mezcla de texto y código que se procesa y devuelve respuestas válidas para la ciencia de datos.

El diseño de knitr permite no permite sólo código R, sino de otros lenguajes como Python, Java Script o Awk, además de producir resultados en formatos como LaTeX, HTML5, Markdown, AsciiDoc, etc, como se muestran en los ejemplos de knitr.

El paquete Knitr se instala en R

install.packages("knitr")
library("knitr")

Knitr es libre, además de poseer muchos ejemplos y demostraciones.

SQL y PostgreSQL

El SQL es el lenguaje estándar ANSI/ISO de definición, manipulación y control de bases de datos relacionales.

PostgreSQL es un sistema de administración de bases de datos relacionales (RDBMS). Significa que es un sistema para administrar datos guardados en relaciones. Una relación es esencialmente un término matemático para referirse a una tabla aunque existen otras maneras de organizar las bases de datos.

Una buena referencia de SQL es el libro de Thomas Nield Getting Started with SQL A Hands-On Approach for Beginners.

La instalación de PostgreSQL en Linux, se da en la siguiente página.

Roxygen

Roxygen es un sistema para escribir documentación de paquetes y si estás familiarizado con Javadoc, reconocerás su sintaxis de manera casi natural. Pero Roxygen, hace algunas cosas más, como la de incluir el manejo de espacio de nombres de importación y exportación. Para usar este paquete , primero debemos instalarlo, así que debes ejecutar lo siguiente:

install.packages("roxygen2")

Explicacióń y partes del Seminario con ejemplos de Notebooks en R ------------------------------

  1. Introducción a Jupyter Notebook introducción

  2. Ejemplo de Notebook en R

About

Utilización de Jupyter Notebook con R. (Herramienta didáctica)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published