+ - 0:00:00
Notes for current slide
Notes for next slide

Intro a la programación en R

Escuela de Invierno - Julio 2020
Gabriela Mathieu

Creative Commons License
Creative Commons Attribution 4.0 International License

Objetivos del curso

  • Introducción al lenguaje R mediante RStudio

  • Manejar un gran conjunto de funciones: básicas y más avanzadas

  • Generar autonomía para usar R y seguir aprendiendo después del curso

  • Aprender a programar en R a través de la lógica tidyverse para lograr rápidamente:

    • Trabajar con datos reales e interesantes.

    • Procesar y transformar los datos.

    • Crea visualizaciones atractivas e informativas.

¿Quiénes usan/usamos R?

Intro R

RStudio

Script

Script

  • Un archivo donde se escribe la sintaxis (el código) y luego se envía a la consola.

Script

  • Un archivo donde se escribe la sintaxis (el código) y luego se envía a la consola.

  • Un script permite reproducir nuestro análisis o que otra persona lo haga.

Script

  • Un archivo donde se escribe la sintaxis (el código) y luego se envía a la consola.

  • Un script permite reproducir nuestro análisis o que otra persona lo haga.

  • Tendrá una extensión .R y al hacer doble click sobre el archivo se abre RStudio.

Script

  • Un archivo donde se escribe la sintaxis (el código) y luego se envía a la consola.

  • Un script permite reproducir nuestro análisis o que otra persona lo haga.

  • Tendrá una extensión .R y al hacer doble click sobre el archivo se abre RStudio.

  • Es clave comentar el código, los comentarios deben ir precedidos por #.

Script

  • Un archivo donde se escribe la sintaxis (el código) y luego se envía a la consola.

  • Un script permite reproducir nuestro análisis o que otra persona lo haga.

  • Tendrá una extensión .R y al hacer doble click sobre el archivo se abre RStudio.

  • Es clave comentar el código, los comentarios deben ir precedidos por #.

  • Los comentarios se verán de un color diferente al código, incluso cuando se comenta parte de un código.

Script

  • Un archivo donde se escribe la sintaxis (el código) y luego se envía a la consola.

  • Un script permite reproducir nuestro análisis o que otra persona lo haga.

  • Tendrá una extensión .R y al hacer doble click sobre el archivo se abre RStudio.

  • Es clave comentar el código, los comentarios deben ir precedidos por #.

  • Los comentarios se verán de un color diferente al código, incluso cuando se comenta parte de un código.

  • Un comentario se envía a la consola pero no se ejecuta nada.

Autocompleta código

La ventana de script colorea y autocompleta código. Muestra el help de la función.

Comentarios

Atajos de teclado

Atajos de teclado

R 'base'

Vector

  • Un vector es una colección de uno o más objetos del mismo tipo (números o caracteres pero no ambos).

Vector

  • Un vector es una colección de uno o más objetos del mismo tipo (números o caracteres pero no ambos).

  • Según sus elementos será la clase del vector: character, numeric, logical

Vector

  • Un vector es una colección de uno o más objetos del mismo tipo (números o caracteres pero no ambos).

  • Según sus elementos será la clase del vector: character, numeric, logical

  • La función c() crea un vector.

Vector

  • Un vector es una colección de uno o más objetos del mismo tipo (números o caracteres pero no ambos).

  • Según sus elementos será la clase del vector: character, numeric, logical

  • La función c() crea un vector.

  • Cada elemento va separado por una coma

Vector

  • Un vector es una colección de uno o más objetos del mismo tipo (números o caracteres pero no ambos).

  • Según sus elementos será la clase del vector: character, numeric, logical

  • La función c() crea un vector.

  • Cada elemento va separado por una coma

  • Con la función class() compruebo que tipo de objeto es

Advertencias (warnings)

  • Mensajes de advertencia (Warnings): no necesariamente hay un error (ejecuta los comandos y solo te advierte de posibles inconvenientes).
x1 <- c(2, 8, 3, 4, 1)
x2 <- c(0, 7, 5, 5, 6, 1)
pmax(x1, x2)
Warning in pmax(x1, x2): an argument will be fractionally recycled
[1] 2 8 5 5 6 2

Errores (errors)

  • Mensajes de error aparecen en la consola con el texto Error: ....

Errores (errors)

  • Mensajes de error aparecen en la consola con el texto Error: ....

  • El error impide que se ejecute(n) la(s) líneas con error.

Errores (errors)

  • Mensajes de error aparecen en la consola con el texto Error: ....

  • El error impide que se ejecute(n) la(s) líneas con error.

  • Un error en el código es una orden que R no puede interpretar .

Errores (errors)

  • Mensajes de error aparecen en la consola con el texto Error: ....

  • El error impide que se ejecute(n) la(s) líneas con error.

  • Un error en el código es una orden que R no puede interpretar .

  • Pueden deberse a funciones mal escritas , expresiones erróneas o incompletas, objetos que no han sido declarados, etc


Errores (errors)

  • Mensajes de error aparecen en la consola con el texto Error: ....

  • El error impide que se ejecute(n) la(s) líneas con error.

  • Un error en el código es una orden que R no puede interpretar .

  • Pueden deberse a funciones mal escritas , expresiones erróneas o incompletas, objetos que no han sido declarados, etc


  • Con práctica y la ayuda de los foros se aprende a entender los mensajes de error.

Ayuda externa: buscador

Ayuda externa: Stackoverflow

Nombrar objetos

  • Para nombrar objetos se pueden usar: letras, números, punto, guión bajo

Nombrar objetos

  • Para nombrar objetos se pueden usar: letras, números, punto, guión bajo

  • No puede empezar con números ni guión bajo: 2018listado _listado

Nombrar objetos

  • Para nombrar objetos se pueden usar: letras, números, punto, guión bajo

  • No puede empezar con números ni guión bajo: 2018listado _listado

  • Si empieza con punto debe seguirle una letra: .listado

Nombrar objetos

  • Para nombrar objetos se pueden usar: letras, números, punto, guión bajo

  • No puede empezar con números ni guión bajo: 2018listado _listado

  • Si empieza con punto debe seguirle una letra: .listado

  • Lo común es que comiencen con una letra: listado_2020

Nombrar objetos

  • Para nombrar objetos se pueden usar: letras, números, punto, guión bajo

  • No puede empezar con números ni guión bajo: 2018listado _listado

  • Si empieza con punto debe seguirle una letra: .listado

  • Lo común es que comiencen con una letra: listado_2020

  • R es sensible a mayúsculas y minúsculas: no es lo mismo Listado que listado

Ejercicio (6')

  • Crea un objeto llamado nombre con tu nombre escrito todo en minúscula <br

  • Crea un objeto llamado apellido con tu apellido escrito todo en minúscula

  • Crea un objeto llamado edad con tu edad en números

  • Pregunta la clase de cada uno de esos objetos e imprime el contenido de cada objeto.

  • Crea un objeto llamado nombre_completo que contenga tu nombre y tu apellido, reutilizando los objetos creados. La función paste() puede ser de ayuda.

  • ¿Cuántos caracteres tiene el objeto nombre, y el objeto apellido? La función nchar() puede ser de ayuda.

Barcelona

  • Trabajaremos con los datos de alojamientos en Barcelona de Airbnb al 10 de enero de 2020. Son datos abiertos disponibles en http://insideairbnb.com/get-the-data.html.

  • Son datos abiertos con licencia Creative Commons CC0 1.0 Universal "Public Domain Dedication.

Archivos Descripción
listings.csv listado de alojamientos disponibles
reviews.csv evaluaciones de personas alojadas
neighbourhoods.csv listado de barrios
neighbourhoods.geojson información geográfica de los barrios

Cómo funciona Airbnb

  • Quienes se hospedan pueden elegir entre casas/apartamentos enteros, solo cuartos privados o cuartos compartidos (room_type).

  • Luego de la estadía deben dejar una evaluación (review).

  • Los alojamientos varían en precio, mínimo de días de estadía, los días disponible, etc.

Lisboa

Lisboa

Visualizar los datos

# ver el objeto en otra ventana
View(listado)

¿Qué queremos averiguar de estos datos?

  • Primero me hago preguntas, luego piensa cuál es el código que las responde

¿Qué queremos averiguar de estos datos?

  • Primero me hago preguntas, luego piensa cuál es el código que las responde

  • ¿Cuáles son las variables? ¿Cuántas son?

¿Qué queremos averiguar de estos datos?

  • Primero me hago preguntas, luego piensa cuál es el código que las responde

  • ¿Cuáles son las variables? ¿Cuántas son?

  • ¿Cuántas observaciones tiene?

¿Qué queremos averiguar de estos datos?

  • Primero me hago preguntas, luego piensa cuál es el código que las responde

  • ¿Cuáles son las variables? ¿Cuántas son?

  • ¿Cuántas observaciones tiene?

  • ¿Qué valores toman esas variables?

¿Qué queremos averiguar de estos datos?

  • Primero me hago preguntas, luego piensa cuál es el código que las responde

  • ¿Cuáles son las variables? ¿Cuántas son?

  • ¿Cuántas observaciones tiene?

  • ¿Qué valores toman esas variables?

  • ¿Hay datos faltantes?

¿Qué queremos averiguar de estos datos?

  • Primero me hago preguntas, luego piensa cuál es el código que las responde

  • ¿Cuáles son las variables? ¿Cuántas son?

  • ¿Cuántas observaciones tiene?

  • ¿Qué valores toman esas variables?

  • ¿Hay datos faltantes?

  • ¿Hay casos duplicados?

Ejercicio (3')

  • Cargar el archivo listings.csv de Barcelona.

  • Calcular la media, mediana y varianza de las variables minimum_nights, number_of_reviews, last_review.

Paquetes

TidyveRse

Ejercicio

  • Instalar el paquete readr.

  • Cargar el paquete readr.

  • Importar el archivo listings.csv.

R 'base'

Directorio de trabajo (working directory)

  • Refiere a los archivos que están en la computadora

Directorio de trabajo (working directory)

  • Refiere a los archivos que están en la computadora

    - getwd(): muestra la ruta del directorio de trabajo. R trabaja por defecto en cierta carpeta que se llama directorio de trabajo donde va a leer y guardar los archivos.

Directorio de trabajo (working directory)

  • Refiere a los archivos que están en la computadora

    - getwd(): muestra la ruta del directorio de trabajo. R trabaja por defecto en cierta carpeta que se llama directorio de trabajo donde va a leer y guardar los archivos.

    - setwd(): define el directorio de trabajo, para modificarlo.
    • No es recomendable que la correcta ejecución de la sintaxis dependa de una ruta específica...
    • Más adelante veremos qué es trabajar en proyecto (Rproj) para salvar este problema.

Directorio de trabajo (working directory)

  • Refiere a los archivos que están en la computadora

    - getwd(): muestra la ruta del directorio de trabajo. R trabaja por defecto en cierta carpeta que se llama directorio de trabajo donde va a leer y guardar los archivos.

    - setwd(): define el directorio de trabajo, para modificarlo.
    • No es recomendable que la correcta ejecución de la sintaxis dependa de una ruta específica...
    • Más adelante veremos qué es trabajar en proyecto (Rproj) para salvar este problema.
  • dir(): muestra los archivos que están en el directorio de trabajo

Directorio de trabajo (working directory)

  • Refiere a los archivos que están en la computadora

    - getwd(): muestra la ruta del directorio de trabajo. R trabaja por defecto en cierta carpeta que se llama directorio de trabajo donde va a leer y guardar los archivos.

    - setwd(): define el directorio de trabajo, para modificarlo.
    • No es recomendable que la correcta ejecución de la sintaxis dependa de una ruta específica...
    • Más adelante veremos qué es trabajar en proyecto (Rproj) para salvar este problema.
  • dir(): muestra los archivos que están en el directorio de trabajo

    - R no entiende el \ (con backslash se escriben las rutas en Windows)

Directorio de trabajo (working directory)

  • Refiere a los archivos que están en la computadora

    - getwd(): muestra la ruta del directorio de trabajo. R trabaja por defecto en cierta carpeta que se llama directorio de trabajo donde va a leer y guardar los archivos.

    - setwd(): define el directorio de trabajo, para modificarlo.
    • No es recomendable que la correcta ejecución de la sintaxis dependa de una ruta específica...
    • Más adelante veremos qué es trabajar en proyecto (Rproj) para salvar este problema.
  • dir(): muestra los archivos que están en el directorio de trabajo

    - R no entiende el \ (con backslash se escriben las rutas en Windows)

    - Las rutas en R se definen con / y también es válido usar \\

Espacio de trabajo (workspace / environment)

  • Se ubica en la memoria RAM.

Espacio de trabajo (workspace / environment)

  • Se ubica en la memoria RAM.

  • La colección de objetos generados en una sesión.

Espacio de trabajo (workspace / environment)

  • Se ubica en la memoria RAM.

  • La colección de objetos generados en una sesión.

  • ls() para obtener el listado de los objetos almacenados en la memoria RAM.

Espacio de trabajo (workspace / environment)

  • Se ubica en la memoria RAM.

  • La colección de objetos generados en una sesión.

  • ls() para obtener el listado de los objetos almacenados en la memoria RAM.

  • Al cerrar Rstudio se pierden, pero tenemos la sintaxis para volver a crearlos :)

Espacio de trabajo (workspace / environment)

  • Se ubica en la memoria RAM.

  • La colección de objetos generados en una sesión.

  • ls() para obtener el listado de los objetos almacenados en la memoria RAM.

  • Al cerrar Rstudio se pierden, pero tenemos la sintaxis para volver a crearlos :)

  • Un objeto no modifica un archivo a menos que se guarde/exporte como tal usando una función para tal fin. No es posible modificar un archivo por error.

Espacio de trabajo (workspace / environment)

  • Se ubica en la memoria RAM.

  • La colección de objetos generados en una sesión.

  • ls() para obtener el listado de los objetos almacenados en la memoria RAM.

  • Al cerrar Rstudio se pierden, pero tenemos la sintaxis para volver a crearlos :)

  • Un objeto no modifica un archivo a menos que se guarde/exporte como tal usando una función para tal fin. No es posible modificar un archivo por error.

  • Para eliminar objetos puede utilizar la orden rm().

Espacio de trabajo (workspace / environment)

  • Se ubica en la memoria RAM.

  • La colección de objetos generados en una sesión.

  • ls() para obtener el listado de los objetos almacenados en la memoria RAM.

  • Al cerrar Rstudio se pierden, pero tenemos la sintaxis para volver a crearlos :)

  • Un objeto no modifica un archivo a menos que se guarde/exporte como tal usando una función para tal fin. No es posible modificar un archivo por error.

  • Para eliminar objetos puede utilizar la orden rm().

  • Al cerrar RStudio te consulta si querés guardar el espacio de trabajo (workspace), no lo guardes nunca, no sirve para nada. En vez de eso, configura RStudio para que no te haga más esa pregunta.

Save workspace

Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow