Comment mettre en cache=FALSE pour un knitr markdown document et remplacer le code chunk paramètres?
Je comprends que je peux utiliser le cache=TRUE
option de mise en cache d'un R code de morceau à l'aide de R Markdown avec knitr
. E. g., Il pourrait ressembler à quelque chose comme ceci:
```{r longanalysis, cache=TRUE}
for (i in 1:5000) {
lm((i+1)~i)
}
```
Et je me rends compte que Si je voulais désactiver le cache pour cette analyse que je pouvais changer l'option de cache=FALSE
dans le code chunk. Cependant, si j'ai beaucoup de R code des morceaux avec le cache activé, cela nécessiterait une minutieuse opération de rechercher et remplacer.
Question
- Est-il un moyen de temporairement le réglage de
cache=FALSE
pour un ensemble de R Markdown document?
Commentaires
J'ai vu cet exemple où la première ligne est. Donc, j'imagine que c'est un moyen de réglage de paramètre global, mais je pense que local remplacer les paramètres de paramètres globaux.
`r opts_chunk$set(fig.width=5, fig.height=5, fig.path='')`
Vous devez vous connecter pour publier un commentaire.
Il semble que la valeur par défaut est définie sur FALSE et locales morceau options remplacent les options globales, mais une chose que vous pourriez faire est de définir les options globales de cache par défaut en ajoutant ceci au début de votre document
Alors que les sections que vous ne voulez pas mis en cache jamais vous permettrait de définir explicitement les sections de cache=FALSE.
Alors si vous souhaitez définir l'ensemble du document pour ne cache rien de ce que vous pourriez changer l'option à FALSE et relancez-le.
Le problème est que le cas échéant de la partie options de cache=VRAI alors ceux qui vont remplacer le paramètre par défaut et de ne pas être ré-si vous définissez l'option à FALSE. Donc, je pense que la seule façon d'obtenir ce que vous voulez, c'est de modifier la valeur par défaut de cache=TRUE, définir explicitement les morceaux que vous ne souhaitez pas mis en cache pour avoir cache=FAUX, et puis vous pouvez passer l'option à FALSE pour faire ce que vous voulez, quand le temps se produit.
opts_chunk$set()
est la réponse. Retrait du cache du répertoire de sons brutaux, mais il est également valable 🙂Supprimer le cache de l'option
knitr
crée un répertoire pour stocker les objets mis en cache. Par défaut, il est appelécache
.Pour s'assurer que toutes les analyses sont exécutées indépendamment du code des morceaux
cache
réglage, il suffit de supprimer le contenu du répertoire de cache.Ainsi, dans Rstudio sur Linux
Tools - Shell
ouvrir une console dans le répertoire contenant le fichier markdown.rm cache/*
Un flux de production de base
C'est mon flux de production de base au moment
`r opts_chunk$set(cache=TRUE)`
à la R Markdown fichier.dependson
dans knitr. De nommage permet également la suppression sélective de nommé R code des morceaux dans le répertoire de cache.Tools
>Shell
semble ouvrir une console dans le répertoire de travail actuel de la r de la console interactive. Cela peut différer de l'emplacement du répertoire contenant le fichier markdown, qui est l'endroit où le cache est stocké.Trop tard une fois que vous avez créé le document, mais pour l'avenir de documents, vous pouvez envisager d'utiliser le fait que les paramètres sont évalués par
knitr
. Cela signifie que vous pouvez avoir des choses comme:Puis, au sommet du document que j'ai quelque chose comme:
Qui permet de désactiver rapidement sur une nouvelle mise en mémoire cache pour un grand nombre de morceaux à la fois.