library(learnr)
knitr::opts_chunk$set(echo = FALSE)
knitr::include_graphics(
  "https://storage.googleapis.com/datos_cursos/ixpantia_introR/ixpantia_logo.png"
  )  

Introducción

Hay muchas formas de escribir código en R. Entre mas código escribes, y sobretodo entre mas código tienes que leer, más apreciarás un estilo uniforme. Te permitirá leer tu propio código y volver a entenderlo más fácilmente después de un largo tiempo sin haberlo visto. Además, un estilo uniforme te permitirá trabajar más efectivamente con otros.

Aquí podrás encontrar los diferentes elementos que pueden estar en un guía de estilo. Esta basado en el guía de estilo de Hadley Wickham. Este a su vez esta basado en el guía de estilo de Google. Además, se incluyen las sugerencias que son relevantes para hispanohablantes. Esto porque en el Castellano estamos acostumbrados, entre otras cosas, a tildes, eñes y otros caracteres que necesitan su propia discusión.

Nomenclatura

Documentos

Tip 1

Los archivos deben tener un nombre descriptivo, no tener caracteres especiales (tildes, eñes) y terminar en .R.

Ejercicio

question("¿Cuál (es) de estos nombres de archivos es (son) correcto (s)?",
  answer("analisis.R"),
  answer("caracterización.R"),
  answer("analisis_factorial.R", correct = TRUE),
  answer("análisis_confirmatorio.R"),
  answer("eda.R", correct = TRUE),
  correct = "Correcto",
  incorrect = "Incorrecto"
)

Tip 2

Si tu solución o estudio requiere que los archivos se corran en una secuencia predeterminada, añade prefijos con numerales.

Ejercicio

question("¿Cuál (es) de estos nombres de archivos es (son) correcto (s)?",
  answer("primer_script.R"),
  answer("1_analisis_exploratorio.R", correct = TRUE),
  answer("dos-modelo-predictivo.R"),
  correct = "Correcto",
  incorrect = "Incorrecto"
)

Objetos

Tip 3

Nombres de variables y de funciones deben ser en minúscula y que se ha de usar un guión bajo (_) para separar palabras dentro de un nombre. Usar sustantivos para los nombres de las variables y verbos para las funciones. Nunca uses caracteres especiales como tildes y eñes en tus nombres de objetos.

Ejercicio

question("¿Cuál (es) de estos nombres de objetos es (son) correcto (s)?",
  answer("primer_cuartil", correct = TRUE),
  answer("CuartilUno"),
  answer("C1"),
  answer("cuartil_1", correct = TRUE),
  correct = "Correcto",
  incorrect = "Incorrecto"
)

Tip 4

Si usas nombres de funciones que ya están en uso es probable que generes confusión. Trata de evitarlo hasta donde sea posible.

Ejercicio

question("¿Cuál (es) de estos nombres de funciones es (son) correcto (s)?",
  answer("F <- function(x) read.table(x)"),
  answer("lee_tabla <- function(x) read.table(x)",
         correct = TRUE),
  answer("ls <- function(x) read.table(x)"),
  correct = "Correcto",
  incorrect = "Incorrecto"
)

Sintaxis

Espacios

Tip 5

Antes y después de todos los operadores infijos va un espacio (=, +, <-, etc). Esto aplica aún para el signo equivalente (=) en las llamada de una función. No hay espacios antes de una coma, pero una coma siempre es seguida por un espacio.

Ejercicio

question("¿Cuál (es) de estos comandos es (son) correcto (s)?",
  answer("profundidad<-round((pies + pulgadas/12), 2)"),
  answer("profundidad<-round((pies+pulgadas/12), 2)"),
  answer("profundidad <- round((pies+pulgadas/12), 2)"),
  answer("profundidad <- round((pies + pulgadas / 12), 2)",
         correct = TRUE),
  correct = "Correcto",
  incorrect = "Incorrecto"
)

Tip 6

No se usan espacios para :, :: ni :::.

Ejercicio

question("¿Cuál (es) de estos comandos es (son) correcto (s)?",
  answer("x <- 2:23", correct = TRUE),
  answer("base::round", correct = TRUE),
  answer("y <- 10 : 54"),
  answer("dplyr :: select()"),
  correct = "Correcto",
  incorrect = "Incorrecto"
)

Tip 7

Antes del paréntesis izquierdo va un espacio, a no ser que estés llamando una función en cual caso no se usa un espacio.

Ejercicio

question("¿Cuál (es) de estos comandos es (son) correcto (s)?",
  answer("qplot(x, y)", correct = TRUE),
  answer("plot (x, y)"),
  answer("if (debug) do(x)", correct = TRUE),
  answer("if(condicion)function(x)"),
  correct = "Correcto",
  incorrect = "Incorrecto"
)

Tip 8

Cuando quieras introducir mas orden en el código alineándolo, por ejemplo, sobre los símbolos de igualdad, está bien usar espacios para tal efecto

Tip 9

Los paréntesis y corchetes ([]) no llevan espacios a su alrededor. Si hay una coma, aplican las convenciones que se mencionaron antes.

Ejercicio

question("¿Cuál (es) de estos comandos es (son) correcto (s)?",
  answer("if ( depurando ) x <- 34"),
  answer("if (depurando) x <- 34", correct = TRUE),
  answer("resultados[1,]"),
  answer("resultados[1 ,]"),
  answer("resultados[5, 1]", correct = TRUE),
  correct = "Correcto",
  incorrect = "Incorrecto"
)

Punto y coma

Tip 10

No uses punto y coma dentro del código. No es necesario, y prácticamente ya no se usa.

Llaves

Tip 11

Abrir una llave nunca debería ocurrir en su propia línea y siempre se sigue con una línea nueva. Una llave que cierra siempre debe ir en su propia línea a menos que sea else. Siempre usa llaves cuando estás usando construcciones con if, aún cuando no es posible no hacerlo.

Longitud de lineas

Tip 12

Trata de limitar tu código a una longitud de 80 caracteres por linea. Esto cabe cómodamente en una página impresa a un tamaño de la fuente razonable.

Asignación

Tip 13

Es mejor usar solo <- para asignación en vez de = y usar el símbolo de igualdad solamente para argumentos dentro de funciones.

Ejercicio

question("¿Cuál (es) de estos comandos es (son) correcto (s)?",
  answer("y <- 23", correct = TRUE) ,
  answer("y = 23"),
  correct = "Correcto",
  incorrect = "Incorrecto"
)


ixpantia/ixpantia.introR documentation built on Jan. 25, 2024, 2:32 p.m.