Faire knitr exécuter un script r: puis-je utiliser read_chunk ou de la source?
Je suis en cours d'exécution de la R version 2.15.3 avec RStudio version 0.97.312. J'ai un script qui lit mes données provenant de diverses sources et crée des données de plusieurs.des tables. J'ai ensuite une autre r de script qui utilise les données.les tables créées dans le premier script. Je voulais tourner la deuxième script dans un R markdown script, de sorte que les résultats de l'analyse peuvent être éditées sous forme d'un rapport.
Je ne sais pas le but de read_chunk
, par opposition à source
. Mon read_chunk
n'est pas le travail, mais source
est de travail. Avec les deux cas je n'ai pas à voir les objets dans mon espace de travail panneau de RStudio.
Veuillez expliquer la différence entre read_chunk
et source
? Pourquoi voudrais-je utiliser l'un ou l'autre? Pourquoi mon .Mdm script fonctionne pas
Ici est ridiculement simplifiée de l'échantillon
Il ne fonctionne pas. Je reçois le message suivant
Erreur: objet 'z' ne trouve pas
Deux fichiers simples...
test de la source de la mdm.R
x <- 1:10
y <- 3:4
z <- x*y
source de test.Mdm
Can I run another script from Rmd
========================================================
Testing if I can run "test of source to rmd.R"
```{r first part}
require(knitr)
read_chunk("test of source to rmd.R")
a <- z-1000
a
```
The above worked only if I replaced "read_chunk" with "source". I
can use the vectors outside of the code chunk as in inline usage.
So here I will tell you that the first number is `r a[1]`. The most
interesting thing is that I cannot see the variables in RStudio
workspace but it must be there somewhere.
OriginalL'auteur Farrel | 2013-03-19
Vous devez vous connecter pour publier un commentaire.
read_chunk()
ne lit le code source (pour référence); il n'a pas évaluer code commesource()
. Le but deread_chunk()
a été expliqué dans cette page ainsi que le manuel.source
.J'ai aussi appris que chaque knitr exécuter une session distincte et ne peut pas utiliser les objets qui ont été présents dans ma RStudio session. Ainsi, alors que je suis en train d'écrire (rédaction, développement) mon .Mdm script j'ai besoin pour commencer simplement en tirant dans un .Rdata fichier image qui a été produit par la source d'origine .r fichier. Si j'étais à exécuter plusieurs fois mon .Mdm cours de développement pour voir comment je fais je dois attendre les 10 à 20 secondes, chaque fois que le
source
ligne s'exécute. Une fois que j'ai eu tout ce travail, je pouvais revenir à l'utilisationsource
afin que les futures pistes tiré dans les données les plus récentes.1. stocker le code des morceaux pour de futures références; 2. si vous voulez de la vitesse, utilisez le morceau option
cache=TRUE
. Les deux liens dans ma réponse ma meilleure tentative d'explication. Si vous les avez lus et ne comprends toujours pasread_chunk()
, je vous recommande de laisser cela derrière -- vous n'avez probablement pas vraiment besoin.Comment des enfants de documents? a-t-elle un autre but? il semble tout à fait similaire "L'idée, c'est comme la commande \input{} ou \include{} en LaTeX pour gérer un document volumineux en petites parties." de
http://yihui.name/knitr/demo/child/
versus "Vous n'avez pas à mettre le R code dans le document d'entrée; avec knitr, vous pouvez séparer votre document d'entrée avec le script R" dehttp://yihui.name/knitr/demo/externalization/
j'apprécierais un petit mot sur la base des différences, le cas échéant. +1ne semble pas fonctionner -- j'ai crié, y compris pour les
<
caractères dans mon code html souci. Que dois-je faire à la place?OriginalL'auteur Yihui Xie
Il n'y a pas une option pour exécuter un morceau de manière interactive à partir de l'intérieur de
knitr
autant que je sache. Cependant, cela peut être fait assez facilement avec quelque chose comme:OriginalL'auteur russellpierce