9  Les bonnes pratiques de développement R

9.1 Eviter les conversions coûteuses

Les opérations de conversions peuvent être coûteuses en mémoire :

exemple :

x <- as.matrix(as.data.frame(x))

Vérifier qu’elles sont nécessaires avant de faire une conversion.

Si elles sont nécessaires, privilégier la préparation des données en amont de l’application.

9.2 Profiling

Il existe des solutions de profiling pour identifier les points coûteux en temps ou mémoire, comme par exemple le package {profviz}.

Voir aussi cet article https://shiny.rstudio.com/articles/profiling.html pour utiliser {profviz} directement sur une application Shiny.

9.3 Utilisation de {data.table}

Le package {data.table} est très efficace pour les opérations de lecture/écriture de fichiers.

Il l’est également pour les opérations de fusion (merge) et d’aggregation de données.

Si vous faites beaucoup d’opération de ce type, l’utilisation de ce package sera à privilégier pour une application plus fluide et moins coûteuse en mémoire.