Módulo 8. Programación eficiente

 

Bienvenidos al móduo 8, dedicado a la programación y a las maneras de automatizar el código y el lenguaje de R cuando tenemos que realizar tareas repetitivas o crear funciones propias adaptadas a nuestras necesidades.

Hemos considerado este módulo como esencial a pesar de su densidad y dificultad, porque dominar la programación optimiza enormemente el tiempo... y por otro lado está presente en muchos recursos online para aprender R. Es especialmente importante que manifestéis vuestras dudas y opiniones respecto a este módulo para asegurarnos de que os podemos ayudar.

En este script encontraréis el código generado en los vídeos.

1. Presentación del módulo 8

Vídeo: Presentacion del módulo 8 - Alejandro González.

 

2. ¿Por qué necesitamos programar?

Vídeo: ¿Por qué necesitamos programar? - Alejandro González.

R puede adaptarse a nuestras necesidades de análisis, tipo de datos, visualización, operaciones que tenemos que hacer sobre nuestros datos… pero también ahorrarnos tiempo.

Imaginad que nosotros tenemos una lista de plantas, y para cada una de ellas debemos leer un archivo de datos. Serán muchas operaciones para cada archivo. Muchas de ellas, entonces, serán repetidas.

especies<-c("Viburnum_tinus","Olea_sylvestris","Prunus_dulcis","Crataegus_monogyna","Lathyrus_tingitanus")

Viburnum_tinus<-read.table("Viburnum_tinus.txt",header=TRUE)

#Operación 1: manipular los datos

#Operación 2: sacar medias.

#Operación 3: Sacar varias figuras

#Operación 4: Hacer un análisis multivariante

#etc...

Además, programar tiene otra serie de ventajas:

Hay dos tipos de programación:

El programa que creamos funciona según las iteraciones y las condiciones que le vamos marcando (bucles y condicionales)

Creamos funciones para simplificar el proceso que queremos realizar.Veremos cómo ir realizando funciones cada vez más complejas

3. Operadores lógicos 

Antes de ponernos con la programación es necesario repasar los operadores lógicos que se utilizan en R, es decir, la manera en la que preguntamos al programa si se cumple una condición o varias.

Vídeo: Operadores lógicos - Alejandro González.

 

Expresiones for

En estos 3 vídeos podéis ver la introducción a las expresiones for, que nos permiten realizar iteraciones de los mismos bloques de código.

Los contenidos están accesible en HTML: for1, for2, for3.

4. Programación: bucles for 1

Vídeo: Programación: bucles for 1 - Alejandro González.

 

5. Programación: bucles for 2

Vídeo:  Programación: bucles for ​2- Alejandro González.

 

6. Programación: bucles for 3

Vídeo:  Programación: bucles for 3 - Alejandro González.

 

7. Expresiones condicionales

A continuación se pueden ver las expresiones condicionales, que cambiarán las instrucciones que se ejecutan según determinadas condiciones. Se trata de las expresiones if   else.

La lección en HTML está accesible aquí.

Vídeo: Expresiones condicionales - Alejandro González.

 

8. Creación de funciones

Vídeo: Expresiones condicionales - Alejandro González.

 

El contenido de la lección está disponible aquí.

9. Programación con funciones de la familia apply

Vídeo:  Programación con funciones de la familia apply - Alejandro González.

El contenido de la lección está disponible aquí.

10. Otras aproximaciones a la programación: bucles while y repeat

Vídeo: Otras aproximaciones a la programación: bucles while y repeat - Alejandro González.

El contenido de la lección está disponible aquí.