web-dev-qa-db-fra.com

erreur rmarkdown "tentative d'utilisation d'un nom de variable de longueur nulle"

Lorsque je génère un nouveau fichier rmarkdown (ou ouvre des fichiers rmarkdown existants) et que j'essaie d'exécuter un morceau rmarkdown, j'obtiens cette erreur: "Erreur: essayez d'utiliser un nom de variable de longueur nulle". J'ai Win10 et j'ai fait une nouvelle installation de R et Rstudio hier. Qu'est-ce que j'ai raté? D'où vient cette erreur?

```{r cars}
summary(cars)
```

`` `{r cars} Erreur: essayez d'utiliser un nom de variable de longueur nulle

enter image description here

7
SEMson

Mettre cela comme une réponse pour la visibilité: cela se produit si vous essayez d'exécuter en sélectionnant tout dans le Rmd et en appuyant sur Entrée comme vous le feriez avec un script R normal. RStudio essaie de tout exécuter en tant que code R, y compris les parties de démarque, ce qui conduit aux erreurs que vous avez vues.

Vous pouvez éviter cela en exécutant un morceau individuel en cliquant sur le bouton de lecture vert ou en sélectionnant l'une des options d'exécution dans la liste déroulante en haut de l'éditeur Rmd.

19
Donovan192

Le problème peut être dû au fait que l'objet a été modifié dans l'environnement global lors d'une session précédente et que cette session a été enregistrée dans l'environnement global. Il est préférable de ne rien enregistrer dans l'environnement global, tout en terminant la session Rstudio (ou la console R). Une option serait d'appeler à nouveau la data(cars) afin d'obtenir le jeu de données d'origine

---
title: "Untitled"
output:
  html_document: default
  'html_document:': default
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r cars}
data(cars)
summary(cars)

-sortie enter image description here

Une option pour éviter ce genre de surprise est d'utiliser l'option "Ne pas enregistrer" lors de la fermeture de la session

enter image description here

3
akrun

J'avais le code suivant dans mon R Studio pour supprimer certains avertissements. Ce que je voulais faire, c'était masquer toutes les sorties possibles mais toujours évaluer le code, par exemple, masquer la sortie de texte (résultats = `` masquer ''), masquer les avertissements, masquer les messages

```{r message=FALSE, warning=FALSE, results='hide'}

Lorsque je me suis débarrassé de ces lignes, j'ai également cessé de recevoir l'erreur.

J'espère que ça t'as aidé.

0
Amit