# Opción 1
mpg |>
filter(cty > 10, class == "compact")
# Opción 2
mpg |> filter(cty > 10, class == "compact")
# Opción 3
mpg |>
filter(cty > 10,
class == "compact")
# Opción 4
mpg |> filter(cty>10, class=="compact")
# Opción 5
filter(mpg,cty>10,class=="compact")
# Opción 6
mpg |>
filter(cty > 10,
class == "compact")
# Opción 7
filter ( mpg,cty>10, class=="compact" )Hoja de Estilo del lenguaje R
Convenciones de estilo R
R es bastante indulgente con la forma en que escribimos código, a diferencia de otros lenguajes como Python, donde un espacio mal puesto puede arruinar el script. Sin embargo, adoptar una guía de estilo mejora la legibilidad, facilita la colaboración y reduce errores.
Las siguientes líneas de código producen el mismo resultado, pero no todas son igual de claras:
Las tres primeras versiones son más legibles. El resto, aunque válidas, son difíciles de seguir, especialmente en trabajos colaborativos o materiales docentes.
Guía de estilo de tidyverse
Para ayudar a mejorar la legibilidad y facilitar el compartir código con otros, el equipo de Tidyverse publicó una guía concisa con ejemplos claros de buenas y malas formas de escribir código, nombres de variables, sangría, líneas largas, y más:
➡️ https://style.tidyverse.org/
Además, RStudio incluye herramientas para aplicar estas convenciones automáticamente. Por ejemplo, seleccionando el código y presionando Ctrl + i (Windows) se puede reidentar el texto. No siempre es perfecto, pero es realmente útil para lograr la sangría correcta sin tener que presionar manualmente espacio muchas veces.
Espaciado
Colocar espacios después de las comas:
✔️ Correcto
filter(mpg, cty > 10)✖️ Incorrecto
Colocar espacios después de comas y alrededor de operadores (+, -, >, =, etc.) mejora la legibilidad. También se deben evitar espacios innecesarios dentro de paréntesis:
✔️ Correcto
filter(mpg, cty > 10)✖️ Incorrecto
No colocar espacios alrededor de paréntesis que sean parte de funciones:
✔️ Correcto
filter(mpg, cty > 10)✖️ Incorrecto
Líneas largas
En general, es una buena práctica no tener líneas de código muy largas. Se recomienda limitar las líneas a 80 caracteres. Para visualizarlo, en RStudio vamos a Tools > Global Options > Code > Displayy seleccionamos la casilla Show margin.
Se sugiere agregar saltos de línea dentro de las líneas de código más largas, los mismos deben colocarse luego de las comas y los argumentos se deben alinear dentro de la función:
✔️ Correcto
✖️ Incorrecto
Tuberías y capas ggplot2
Colocar cada paso de la tubería (%>% ó |>) en una línea separada, con sangría de dos espacios debajo del operador:
✔️ Correcto
✖️ Incorrecto
# Mal
mpg |> filter(cty > 10) |> group_by(class) |>
summarize(avg_hwy = mean(hwy))
# Muy mal
mpg |> filter(cty > 10) |> group_by(class) |> summarize(avg_hwy = mean(hwy))
# Tan mal que no funciona
mpg |>
filter(cty > 10)
|> group_by(class)
|> summarize(avg_hwy = mean(hwy))Lo mismo aplica para las capas de gráficos de ggplot2, usando el conector + al final de la línea y debajo sangría de dos espacios:
✔️ Correcto
ggplot(mpg, aes(x = cty, y = hwy, color = class)) +
geom_point() +
geom_smooth() +
theme_bw()
# Mal
ggplot(mpg, aes(x = cty, y = hwy, color = class)) +
geom_point() + geom_smooth() +
theme_bw()
# Muy mal
ggplot(mpg, aes(x = cty, y = hwy, color = class)) + geom_point() + geom_smooth() + theme_bw()
# Tan mal que no funciona
ggplot(mpg, aes(x = cty, y = hwy, color = class))
+ geom_point()
+ geom_smooth()
+ theme_bw()✖️ Incorrecto
# Mal
ggplot(mpg, aes(x = cty, y = hwy, color = class)) +
geom_point() + geom_smooth() +
theme_bw()
# Muy mal
ggplot(mpg, aes(x = cty, y = hwy, color = class)) + geom_point() + geom_smooth() + theme_bw()
# Tan mal que no funciona
ggplot(mpg, aes(x = cty, y = hwy, color = class))
+ geom_point()
+ geom_smooth()
+ theme_bw()Comentarios
Los comentarios deben comenzar con # seguido de un espacio:
✔️ Correcto
# Bien✖️ Incorrecto
#Mal
#MalSi el comentario es corto, se puede incluir en la misma línea, separado por al menos dos espacios para mejorar la legibilidad:
Se puede agregar espacios adicionales para alinear los comentarios en línea, si lo deseamos:
Si el comentario es muy largo, podemos dividirlo en varias líneas. RStudio incluye una herramienta útil para comentarios largos: Code > Reflow Comment los ajusta automáticamente al ancho deseado.