Dans R markdown (package knitr), puis-je accéder à une variable dans le corps du document qui a été calculée dans un bloc de code?
Oui. Vous pouvez simplement appeler n'importe quelle variable précédemment évaluée en ligne.
par exemple. Si vous aviez précédemment créé un data.frame
Dans un bloc avec df <- data.frame(x=1:10)
`r max(df$x)`
Devrait produire
10
Je voudrais ajouter que ce n'est pas le cas pour d'autres langues que R. Je sais que la question est résolue et sur R, mais peut-être que quelqu'un d'autre trouve cela utile:
À l'exception de engine = 'R' (par défaut), tous les morceaux sont exécutés dans des sessions distinctes, de sorte que les variables ne peuvent pas être directement partagées. Si nous voulons utiliser des objets créés dans des blocs précédents, nous devons généralement les écrire dans des fichiers (comme effets secondaires). Pour le moteur bash, nous pouvons utiliser Sys.setenv () pour exporter des variables de R vers bash (exemple). Une autre approche consiste à utiliser le package runr (expérimental).
Exemple en R:
x = 4
print(x)
## [1] 4
Exemple 2a de Python):
x=1
print(x)
## 1
Exemple Python 2b):
print(x)
## Traceback (most recent call last):
## File "<string>", line 1, in <module>
## NameError: name 'x' is not defined
Juste FYI.
Vous pouvez accéder à une variable précédemment créée afin
`r variable`
Mais si la variable est numérique et que vous souhaitez l'ajouter à un document pdf, vous devez convertir la variable en chaîne afin
`r toString(variable)`