générer des réductions de commentaires à l'intérieur de la boucle
Je suis en train de générer un rapport au format HTML, à l'aide de knitr, basé sur un script R qui a pour boucles. Je veux générer des réductions de commentaires de commentaires, à l'intérieur de la boucle for, mais je ne suis pas sûr si c'est possible.
Ici est simple exemple, c'est dans l'essai.R:
for (i in 1:5) {
## This is a heading for `i`
#' This is a comment for `i`
print(i)
}
Puis-je utiliser le spin pour générer un fichier Mdm:
spin('test.R')
Cependant, le Mdm fichier se présente comme suit.
```{r }
for (i in 1:5) {
## This is a heading for `i`
#' This is a comment for `i`
print(i)
}
```
La démarque des commentaires au sein de la R chunk ne sont pas compilées dans le code HTML. Est-il possible?
Grâce,
Peter
- il semble que vous souhaitez exécuter certains R de code avant la conversion de la Mdm, tout ce que je comprends de spin (suivi par le tricot), il fait l'inverse. Je pense que brasser de modèles peut aider à ici.
- Je pense que tu veux vraiment dire roxygen commentaires au lieu de Markdown commentaires. Comme @baptiste mentionné,
brew
est plus sophistiqué pour ce genre de tâches (créer un texte à partir d'une boucle). - vous êtes correct. La R fichier contient roxygen commentaires, qui, je l'espère, seront convertis en Markdown commentaires après je lance spin.
- merci pour les suggestions, je vais vérifier la qualité du café.
Vous devez vous connecter pour publier un commentaire.
Je pense que vous pouvez obtenir ce que vous voulez dans knitr avec le code chunk option='asis" que vous pouvez spécifier après "#+" dans un script R pour être passé à spin (mais le code a l'air moins "propre" que le intéressant de brasser de la solution proposée par @daroczig):
Si c'est le test.Script R et que vous ne spin("test.R"), le rapport de fichier ressemblera à cela :
cat('\n')
aprèsprint(i)
pour les titres 2 à 5 pour être rendus sous forme de titres.Une solution qui a fonctionné pour moi, est fourni par comment créer une boucle qui comprend à la fois un morceau de code et de texte avec knitr dans la R. En utilisant les Deux
results='asis'
et deux places à l'avant de\n
à la fin de chaque boucle.exemple:
Sans deux espaces:
De sortie (html):
Comme vous pouvez le voir, les commentaires et les têtes se faire massacrer ensemble
Solution:
Avec deux espaces:
cat(" \n")
à la fin de la boucleremarque:
cat(" \n")
doit être à la fin, il ne fonctionne pas, même si vous intrigue ou de calculer quelque chose dans la boucle.J'ai (re)mis en œuvre certaines fonctionnalités de
knitr
indépendamment de @Yihui basé surbrew
dans mon en abuser paquet qui pourrait aider (et similaires) des problèmes si vous ne souhaitez pas exécuterbrew
avantknit
ting. Démonstration rapide:Veuillez noter que vous pouvez aussi passer d'un fichier à
Pandoc.brew
(pas besoin d'utiliser de tels gênants programme d'installation avec letext
argument avec de vrais problèmes de la vie), et que vous pouvez également utiliser<% ... %>
balises, par exemple conditionnelles (par exemple afficher ou pas le rendu d'une partie d'un rapport). Et le plus important: il y a une énorme différence entre<% ... %>
(non transformés R commandes) et<%= ... %>
(les résultats sont traités parpander
) des balises. Le second signifie que tous les retours d'objets R sont transformées en Pandoc du markdown, par exemple: