Consejos para evitar esto.
El mejor punto de comienzo es tener organizados tus directorios de trabajo.
Como muchos de los consejos que enunciaré, este responde mucho a tus necesidades y preferencias personales.
El trabajar por proyectos en RStudio es una manera versátil y fácil de ayudarte con esa organización.
Aparte de los errores que pueden provocarse por nombrar mal objetos que ya vimos, una buena práctica es el dar nombres con significados congruentes a tus objetos en R.
Si trabajas con una sola tabla de datos a la vez, no importa mucho el nombre que le des a esta, pues sabes que es la única tabla en tu ambiente de trabajo.
En cambio, si trabajas con múltiples tablas de datos, te aconsejo evitar nombres genéricos como tabla1
, table2
, datos_final
etc.
Es mejor usar una estructura que: compartan un prefijo y una parte en la que se diferencien por una descripción.
Ejemplo, supongamos que analizas varias tablas de ingresos y egresos por año y mes de una empresa. Una buena opción sería nombrarlas como:
ranas$Pred<-factor(ranas$Pred,levels=c("C","NL","L"))
bxplot<-ggboxplot(ranas,x="Pred",y="Age.FromEmergence",color="Pred")
hsdvals<-emmeans_test(log.Age.FromEmergence~Pred,
data=ranas,p.adjust.method="mvt")
hsdvals<-add_significance(hsdvals,p.col="p.adj",output.col="p.adj.signif",cutpoints=c(0,0.001,0.01,0.05,0.1,1),symbols=c("***","**","*",".","ns"))
hsdvals<-hsdvals%>%add_xy_position(x="Pred")
bxplot+stat_pvalue_manual(hsdvals,y.position=c(120,130,140))
ranas$Pred <- factor(ranas$Pred, levels = c("C", "NL", "L"))
bxplot <- ggboxplot(ranas,
x = "Pred",
y = "Age.FromEmergence",
color = "Pred")
hsdvals <- emmeans_test(log.Age.FromEmergence ~ Pred,
data = ranas,
p.adjust.method = "mvt")
hsdvals <- add_significance(hsdvals, p.col = "p.adj",
output.col = "p.adj.signif",
cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1),
symbols = c("***", "**", "*", ".", "ns"))
hsdvals <- hsdvals %>%
add_xy_position(x = "Pred")
bxplot + stat_pvalue_manual(hsdvals, y.position = c(120, 130, 140))
En general:
Deja espacios vacíos antes y despues de =
, <-
, -
, +
, %>%
etc
Un espacio vacío después de ,
Da cortes de línea (enter) donde sea necesario para que las líneas de código no sean muy largas
Deja un espacio vacío entre líneas o conjuntos de líneas que cumplen con una función específica.
Tu yo del futuro, le agradecerá a tu yo del pasado por los comentarios que dejes en los scripts que realices.
Ya te habrás dado cuenta de que #
es el operador para comentar.
Puedes también crear secciones para navegar tu script usando una sintaxis como ### nombre de la sección ###
A lo largo del tiempo, las funciones de los paquetes pueden ser dadas de baja (o inclusive los paquetes pueden ser dados de baja).
Esto es un problema sobre todo con código que lleva mucho tiempo sin ser usado.
Para poder tener una mejor idea de como volver funcional de nuevo códigos viejos, es guardando la información de tu sesión de trabajo.
Esto es muy útil sobretodo trabajando en reportes de Quarto. Para ello, basta añadir al final de un chunk de código el siguiente comando de R base
R version 4.3.1 (2023-06-16 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 11 x64 (build 22621)
Matrix products: default
locale:
[1] LC_COLLATE=German_Germany.utf8 LC_CTYPE=German_Germany.utf8
[3] LC_MONETARY=German_Germany.utf8 LC_NUMERIC=C
[5] LC_TIME=German_Germany.utf8
time zone: Europe/Berlin
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_4.3.1 fastmap_1.1.1 cli_3.6.1 tools_4.3.1
[5] htmltools_0.5.6 rstudioapi_0.15.0 yaml_2.3.7 rmarkdown_2.24
[9] knitr_1.42 jsonlite_1.8.7 xfun_0.40 digest_0.6.33
[13] rlang_1.1.1 evaluate_0.21