R for Reproducible Scientific Analysis: Reference

Puntos Clave

Introducción a R y RStudio
  • Usa RStudio para escribir y correr programas en R.

  • R tiene operadores aritméticos y funciones matemáticas usuales.

  • Utilizar <- para asignar valores a variables.

  • Utilizar ls() para listar las variables en el programa.

  • Utilizar rm() para eliminar objetos en el programa.

  • Utilizar install.packages() para instalar paquetes (libraries).

Gestión de proyectos con RStudio
  • Usar RStudio para crear y gestionar proyectos con un diseño consistente.

  • Tratar los datos brutos como de sólo lectura.

  • Tratar la salida generada como disponible.

  • Definición y aplicación de funciones separadas.

Buscando ayuda
  • Usar help() para obtener ayuda online de R.

Estructuras de datos
  • Usar read.csv para leer los datos tabulares en R.

  • Los tipos de datos básicos en R son double, integer, complex, logical, y character.

  • Usar factors para representar categorías en R.

Explorando data frames
  • Usar cbind() para agregar una nueva columna a un data frame

  • Usar rbind() para agregar una nueva fila a un data frame

  • Quitar filas de un data frame

  • Usar na.omit() para remover filas de un data frame con valores NA

  • Usar levels() y as.character() para explorar y manipular columnas de clase factor

  • Usar str(), nrow(), ncol(), dim(), colnames(), rownames(), head() y typeof() para entender la estructura de un data frame

  • Leer un archivo csv usando read.csv()

  • Entender el uso de length() en un data frame

Haciendo subconjuntos de datos
  • Los índices en R comienzan con 1, no con 0.

  • Acceso a un elemento por posición usando [].

  • Acceso a un rango de datos usando [min:max].

  • Acceso a subconjuntos arbitrarios usando [c(...)].

  • Usar operaciones lógicas y vectores lógicos para acceder a subconjuntos de datos

Control de flujo
  • Usar if y else para realizar elecciones.

  • Usar for para operaciones repetidas.

Creando gráficas con calidad para publicación con ggplot2
  • Usar ggplot2 para crear gráficos.

  • Piensa cada gráfico como capas: estética, geometría, estadisticas, transformaciones de escala, y agrupamiento.

Vectorización
  • Uso de operaciones vectorizadas en lugar de bucles.

Funciones
  • Usar function para definir una nueva función en R.

  • Usar parámetros para ingresar valores dentro de las funciones.

  • Usar stopifnot() para revisar los argumentos de una función en R de manera flexible.

  • Cargar funciones dentro de programas empleando source().

Guardando datos
  • Guardar gráficos desde RStudio usando el botón de ‘Export’.

  • Usar write.table para guardar datos tabulares.

División y combinación de data frames con plyr
  • Uso del paquete plyr para dividir datos, aplicar funciones sobre subconjuntos, y combinar los resultados

Manipulación de data frames con dplyr
  • Usar el paquete dplyr para manipular data frames.

  • Usar select() para seleccionar variables de un data frame.

  • Usar filter() para seleccionar datos basándose en los valores.

  • Usar group_by() y summarize() para trabajar con subconjuntos de datos.

  • Usar mutate() para crear nuevas variables.

Manipulación de data frames usando tidyr
  • Usar el paquete tidyr para cambiar el diseño de los data frames.

  • Usar gather() para invertir del formato ancho al formato largo.

  • Usar spread() para invertir del formato largo al formato ancho.

Produciendo informes con knitr
  • Informes mixtos escritos en R Markdown usando un programa escrito en R.

  • Especificar opciones de fragmento para controlar el formateo.

  • Usar knitr para convertir estos documentos en PDF y en otros formatos.

Escribiendo buen software
  • Documenta qué y por qué, no cómo.

  • Divide los programas en funciones cortas de un solo propósito.

  • Escribe pruebas re-ejecutables.

  • No repitas tu código.

  • Se coherente en la nomenclatura, indentación y otros aspectos del estilo.

Referencia

Introducción a R y RStudio

Manejo de proyectos con RStudio

Buscando ayuda

Estructuras de datos

Los valores atómicos en R deben ser de alguno de los 5 tipos de datos, múltiples valores se pueden agrupar en estructuras de datos.

Tipos de datos

Estructuras de datos básicas en R:

Recuerda que las matrices son realmente vectores atómicos, y que los data.frames son realmente listas(esto explica algunos de los comportamientos extraños de R).

Vectores

Factores

Listas

Matrices

Data Frames

Funciones útiles para consultar estructuras de datos:

Explorando Dataframes

Subconjunto de datos

Control de flujo

Creación de gráficos con calidad para publicación

Vectorización

Funciones

Escribiendo datos

Split-apply-combine

Manejo de dataframe con dplyr

Manejo de dataframe con tidyr

Generando reportes con knitr

Buenas prácticas para escribir un buen código

Glosario

argument
Un valor dado a una función o programa cuando se ejecuta. El término a menudo se usa indistintamente (y de manera inconsistente) con parámetro.
assign
Para darle a un valor un nombre asociandolo a una variable.
body
(de una función): las instrucciones que se ejecutan cuando se ejecuta una función.
comment
Una observación en un programa que pretende ayudar a los lectores humanos a comprender lo que está sucediendo, pero es ignorado por la computadora. Los comentarios en Python, R y el shell de Unix comienzan con un caracter # y se ejecutan hasta el final de la linea; los comentarios en SQL comienzan con --, y otros idiomas tienen otras convenciones.
comma-separated values
(CSV) Una representación textual común para tablas en el cual los valores en cada fila están separados por comas.
delimiter
Un caracter or caracteres usados para separar valores individuales, tales como las comas entre columnas en un archivo CSV.
documentation
Texto en lenguaje humano escrito para explicar lo que hace el software cómo funciona, o cómo usarlo.
floating-point number
Un número que contiene una parte fraccionaria y un exponente. Ver también: integer.
for loop
Un ciclo que se ejecuta una vez para cada valor en algún tipo de conjunto, lista o rango. Ver también: while loop.
index
Un subíndice que especifica la ubicación de un único valor en una colección, como un solo píxel en una imagen.
integer
Un número entero, como -12343. Ver también: floating-point number.
library
En R, es el directorio(s) donde los paquetes son almacenados.
package
Una colección de funciones R, datos y código compilado en un formato bien definido. Los paquetes se almacenan en una biblioteca y se cargan usando la función de library().
parameter
Nombre de variable en la declaración de la función que se usa para guardar un valor cuando la función es llamada. El término a menudo se usa indistintamente (y de manera inconsistente) con argumento.
return statement
Una declaración que hace que una función deje de ejecutarse y devuelva un valor en donde fue llamada.
sequence
Una colección de información que se presenta en un orden específico.
shape
Las dimensiones de una matriz, representadas como un vector. Por ejemplo, una forma de matriz de 5 × 3 es (5,3).
string
Abreviatura de “cadena de caracteres”, una secuencia de cero o más caracteres.
syntax error
Un error de programación que ocurre cuando las instrucciones están en un orden o contienen caracteres no esperados por el lenguaje de programación.
type
La clasificación de algo en un programa (por ejemplo, el contenido de una variable) como un tipo de número (por ejemplo floating-point, integer), string, o algo más. En R el comando typeof() se usa para consultar el tipo de una variable.
while loop
Un bucle que se ejecuta siempre que una condición dada sea verdadera. Ver también: for loop.