× Besoin d'aide pour apprendre R ? Inscrivez-vous au cours d'introduction à R d'Applied Epi, essayez nos tutoriels R gratuits, postez dans notre forum de questions et réponses de la communauté, ou demandez-nous des informations sur notre service d'assistance R.

47 Erreurs fréquentes

Cette page contient une liste d’erreurs les plus fréquentes et propose des solutions pour les résoudre.

47.1 Interprétation des messages d’erreurs

Les messages d’erreurs en R peuvent parfois être compliqués, c’est la raison pour laquelle Google sera votre partenaire. Recherchez le message d’erreur avec “R” et cherchez des messages récents dans StackExchange.com, stackoverflow.com, community.rstudio.com, twitter(#rstats) et d’autres forums utilisés par les programmeurs pour poser des questions et obtenir des réponses. Essayez de trouver des messages récents qui ont résolu des problèmes similaires.

Si, après nombreuses recherches, vous ne trouvez pas de réponse à votre problème, envisagez créer un exemple reproductible (“reprex”) et poser la question vous-même. Consultez la page obtenir de l’aide pour des conseils sur comment créer et publier un exemple reproductible sur les forums.

47.2 Erreurs fréquentes

Nous énumérons ci-dessous quelques erreurs courantes et les explications/solutions possibles. Certaines d’entre elles sont tirées de l’analyse de Noam Ross, qui a analysé les messages de forum les plus courants sur Stack Overflow concernant les messages d’erreur en R (voir l’analyse ici).

Erreurs de typographie

Error: unexpected symbol in:
"  geom_histogram(stat = "identity")+
  tidyquant::geom_ma(n=7, size = 2, color = "red" lty"

Si vous voyez unexpected symbol, vérifiez qu’il ne manque pas de virgules

Erreurs de packages

could not find function "x"...

Ceci signifie probablement que vous avez mal saisi le nom de la fonction, ou bien vous avez oublié d’installer ou de lancer un package.

Error in select(data, var) : unused argument (var)

Vous pensez que vous utilisez dplyr::select() mais la fonction select() a été masquée par MASS::select() - spécifiez dplyr:: ou réordonnez le chargement de votre package pour que dplyr soit après tous les autres.

D’autres erreurs de cache communes proviennent de : plyr::summarise() et stats::filter(). Considérez l’utilisation du conflicted package.

Error in install.packages : ERROR: failed to lock directory ‘C:\Users\Name\Documents\R\win-library\4.0’ for modifying
Try removing ‘C:\Users\Name\Documents\R\win-library\4.0/00LOCK’

Si vous obtenez une erreur indiquant que vous devez supprimer un fichier “00LOCK”, allez dans votre bibliothèque “R” dans le répertoire de votre ordinateur (par exemple, R/win-library/) et cherchez un dossier nommé “00LOCK”. Supprimez-le manuellement et essayez d’installer à nouveau le package. Un processus d’installation précédent a probablement été interrompu, ce qui a mené à cela.

Erreurs d’objet

No such file or directory:

Si vous voyez une erreur comme celle-ci lorsque vous essayez d’exporter ou d’importer : Vérifiez l’orthographe du fichier et de son chemin d’accès, et si le chemin d’accès contient des barres obliques, assurez-vous qu’il s’agit bien d’une barre oblique en avant / et non d’une barre oblique en arrière \. Vérifiez également que vous avez utilisé la bonne extension de fichier (par exemple, .csv, .xlsx).

object 'x' not found 

Ceci signifie que l’objet que vous référencez n’existe pas. Peut-être que le code ci-dessus ne s’est pas correctement exécuté ?

Error in 'x': subscript out of bounds

Ceci signifie que vous avez essayé d’accéder à quelque chose (un élément d’un vecteur ou d’une liste) qui n’existe pas.

Erreurs de syntaxe des fonctions

# ran recode without re-stating the x variable in mutate(x = recode(x, OLD = NEW)
Error: Problem with `mutate()` input `hospital`.
x argument ".x" is missing, with no default
i Input `hospital` is `recode(...)`.

L’erreur ci-dessus (argument .x is missing, with no default) est fréquente dans mutate() si vous fournissez une fonction comme recode() ou replace_na() où l’on s’attend à ce que vous fournissiez le nom de la colonne comme premier argument. Ceci est facile à oublier.

Erreurs de logique

Error in if

Ceci signifie probablement qu’une instruction if a été appliquée à quelque chose qui n’était ni VRAI ni FAUX.

Erreurs de facteur

#Tried to add a value ("Missing") to a factor (with replace_na operating on a factor)
Problem with `mutate()` input `age_cat`.
i invalid factor level, NA generated
i Input `age_cat` is `replace_na(age_cat, "Missing")`.invalid factor level, NA generated

Si vous voyez cette erreur concernant des niveaux de facteur invalides, vous avez probablement une colonne de la classe Factor (qui contient des niveaux prédéfinis) et vous avez essayé d’y ajouter une nouvelle valeur. Convertissez-la en classe Character avant d’ajouter une nouvelle valeur.

Erreurs graphique

Error: Insufficient values in manual scale. 3 needed but only 2 provided. ggplot() scale_fill_manual() values = c(“orange”, “purple”) … insuffisant pour le nombre de niveaux de facteurs … considérer si NA est maintenant un niveau de facteur…

Can't add x object

Vous avez probablement un + supplémentaire à la fin d’une commande ggplot que vous devez supprimer.

Erreurs R Markdown

Si le message d’erreur est de type Error in options[[sprintf("fig.%s", i)]], vérifiez que vos options knitr en haut de chaque chunk utilisent correctement out.width = ou out.height = et pas fig.width= et fig.height=.

Autres

Vérifiez si vous avez réorganisé les verbes dplyr en pipe et si vous n’avez pas remplacé un pipe au milieu, ou si vous n’avez pas retiré un pipe de la fin après avoir réorganisé.

47.3 Ressources

Voici un autre article de blog qui recense les R programming errors faced by beginners