Contenido

4. Programación

[1]

En esta sección conocerá cómo elaborar códigos en el lenguaje de R, mismos que permiten automatizar el análisis de datos de manera genérica. Por ejemplo, elaborar gráficos a partir de conjuntos de datos con estructura predefinida, codificar funciones que se ajusten a sus necesidades de manejo de datos o analíticas, establecer reglas para revisar y luego incluir o excluir información específica dentro de un conjunto de datos.

Desarrollar sus habilidades programáticas requiere paciencia y persistencia, a medida que las practique, ganará mayor dominio sobre el manejo y análisis de datos. Ésta es la puerta de entrada a la programación básica en R.

4.1. Scripts

El script es un archivo de texto que contiene comandos para ejecutar un análisis o procesamiento de datos. Es útil para automatizar un código que queremos correr múltiples veces, así como para organizar en módulos editables un proceso largo y complejo que rebasa las capacidades de la línea de comando. El script es la forma en que escribimos y guardamos en R un conjunto de instrucciones organizadas jerárquicamente.

Para reforzar este tema, revise la siguiente presentación:

4.2. Funciones

Las bibliotecas básicas y complementarias de R contienen un gran número de funciones, sin embargo, en ocasiones necesitamos crear otras para usos específicos. En esta sección revisaremos la notación requerida para construir sus propias funciones, incluyendo parámetros por defecto y cómo organizar el código para construir funciones anidadas (funciones dentro de otras funciones).

Revise la presentación que se muestra a continuación:


Así mismo, se sugiere el análisis del siguiente video:

Estadística y Manejo de Datos con R UV. (2021, agosto 16). Clase 4 1 funciones small [Video]. YouTube.

4.3. Control condicional

Este tipo de control resulta de gran utilidad para regular el flujo en un código mediante operaciones lógicas condicionales. Mediante las funciones if() y else() podemos especificar cuándo R debe ejecutar una pieza de código y cuándo no. Por ejemplo, podemos utilizar estas funciones para aplicar un código al cumplir determinada condición (resultado de una operación que tiene un valor positivo) y un código alternativo cuando no se cumple (resultado de una operación que tiene un valor negativo).

A continuación, revise la siguiente presentación:


Así mismo, visualice el video que se muestra a continuación:

Estadística y Manejo de Datos con R UV. (2021, agosto 16). Clase 4 2 control condicional small [Video]. YouTube.

4.4. Control iterativo

Este tipo de control es útil para ejecutar operaciones que queremos repetir múltiples veces, mediante iteraciones (repeticiones cíclicas) de una pieza de código. Con la función for(){} podemos iterar un número determinado de veces y cada vez contar con acceso a una variable iterada en cada vuelta, por ejemplo: i = 1, i = 2, i = 3… i = n. Con la función while() podemos especificar la condición lógica que determinará si el código se repetirá o no.

Ahora, acceda a la siguiente presentación:


Visualice el video que se muestra a continuación:

Estadística y Manejo de Datos con R UV. (2021, agosto 16). Clase 4 4 control iterativo small [Video]. YouTube.

4.5. Programación funcional

Este tipo de programación nos permite pasar funciones como argumento de otras funciones. Aunque esto puede parecer complejo en un principio, dominar este paradigma de programación nos ayuda a aumentar la eficiencia. Con la programación funcional es posible aplicar funciones a grupos pequeños y homogéneos de valores en bases de datos grandes. Por ejemplo, podemos ejecutar los análisis para subconjuntos de una base de datos e ir obteniendo los estadísticos respectivos agrupados en un solo objeto al final del proceso. Las bibliotecas de programación funcional trabajan en equipo con las bibliotecas de tidyverse (dplyr, tidyr y magrittr), resultando en códigos sintéticos y poderosos.

Para finalizar este tema, revise la siguiente presentación:

Actividad 5. Programación.

Descripción:

Los ejercicios de esta actividad le acercarán al corazón de R, en primera instancia, practicará la elaboración de sus propias funciones. A fin de cuentas, R nos permite hacer cálculos u organizar distintos conjuntos de datos con funciones preestablecidas. En este caso, comprobará que puede crear sus propias funciones, según sus necesidades. A continuación, se adentrará al mundo de la programación, realizando los ejercicios de control condicional e iterativo y, finalmente, la programación funcional. Avanzar en el dominio de estas habilidades le permitirá automatizar procesos de análisis de conjuntos de datos grandes o con estructuras similares.

Indicaciones:

Realizar los ejercicios solicitados para elaborar funciones propias, ejercer control condicional e iterativo, así como hacer programación funcional.

Ejercicios

4.0.1 Funciones. Abrir

4.1.1 Control condicional. Abrir

4.2. Control iterativo. Abrir

4.3.1 Programación funcional Abrir

Criterios de desempeño:

  1. Elaboración de scripts con código legible, funcional y bien indentado.
  2. Emplear correctamente los operadores lógicos para aplicar el control condicional deseado.
  3. Codificación de uno o más comandos que se repetirán cíclicamente (loop) para hacer un cálculo, una referenciación o un gráfico.
  4. Automatización de un proceso analítico.

Lineamientos de entrega:

  1. Divida su script en secciones, usando hashtag # al inicio de las líneas que comente. Para conocer ejemplos de scripts revise la Clase 3.0 Scripts, funciones y control de flujo.pdf. Por ejemplo, si va a iniciar la sección en que asigna su directorio de trabajo, puede indicarlo con la línea: # Ajustar directorio de trabajo setwd (“/Usuario/CursoEMDR”) y en las líneas subsecuentes agregue los comandos que correspondan a la solución del ejercicio en turno.
  2. Titule el archivo (*.R) de la siguiente forma: Actividad5_ApellidoPaternoPrimerNombre.R. Ejemplo: Actividad5_CoyotlPedro.R
  3. Envíe su archivo (*.R), a través del apartado de Actividades de la plataforma Eminus, a más tardar en la fecha establecida en el Calendario de entregas.

Foro 4. Programación.

Descripción:

  1. Este foro estará abierto para acompañarse en el proceso de elaborar los ejercicios que competen a este tema, para compartir dudas o estrategias de cómo resolverlos, así como para participar exponiendo su experiencia y los mensajes que se emitieron al usar el software.
  2. El foro estará abierto sólo hasta la fecha límite indicada.
  3. Recuerde atender a las Reglas para participar en foros de discusión.

Criterios de desempeño:

  1. Compartir y discutir soluciones para las actividades.
  2. Valorar la pertinencia de modificar nuestra estrategia al usar el software.
  3. Sugerir ideas que den pauta a una práctica más funcional del software.

Lineamientos de entrega:

  1. Publique su participación en el Foro del Tema IV Programación.
  2. Su participación en el foro será en la fecha establecida en el Calendario de entregas. Los foros no concederán prórroga.

Fuentes de Información

Bellosta, C. J. (2018). R para profesionales de los datos: una introducción. Datanalytics.com. https://datanalytics.com/libro_r/index.html

Crawley, M. J. (2013). The R Book (2nd ed.). Singapore: Wiley. http://www.bio.ic.ac.uk/research/mjcraw/therbook/index.htm

Santana, J. S. & Mateos, E. (2014). El arte de programar en R. Un lenguaje para la estadística. Instituto Mexicano de Tecnología del Agua. UNESCO. Comité Nacional Mexicano del Programa Hidrológico Internacional. http://cran.r-project.org/doc/contrib/Santana_El_arte_de_programar_en_R.pdf

Wickham, H. (2019). Advanced R (2nd ed.). CRC Press. https://adv-r.hadley.nz/

1 Pressfoto (2019). Working on code Free Photo. [Imagen]. Freepik. https://www.freepik.com/free-photo/working-code_5766879.htm