C'est la fameuse FAQ 7.22: Pourquoi ne treillis/trellis graphique ne fonctionne pas?.
Pour la grille de graphiques comme ggplot2 ou de treillis, vous avez besoin d'imprimer les graphiques de l'objet afin de dessine.
De manière interactive sur la ligne de commande ce qui est fait automatiquement. Partout ailleurs (à l'intérieur des fichiers source, boucles, fonctions, Sweave morceaux) vous avez besoin d'imprimer de façon explicite.
print (qplot (1 : 10, 1 : 10))
Alternativement, vous pouvez redéfinir qplot
pour l'impression:
qplot <- function (x, y = NULL, z = NULL, ...) {
p <- ggplot2::qplot (x = x, y = y, z = z, ...)
print (p)
}
(cela change des étiquettes de l'axe de x et de y).
J'utilise cette approche dans les vignettes où je veux écrire du code exactement comme un utilisateur dans une session interactive serait de type.
Edit je vais laisser la réponse comme il est ci-dessus. Mais notez que cette solution de contournement est à mon humble avis totalement obsolète aujourd'hui (et il a toujours été bon pour un petit paresseux niche uniquement).
-
.R fichiers:
source
s'option print.eval=TRUE
conduira à l'impression comportement de l'évaluation de résultat comme dans l'interactif en ligne de commande.
-
.Rnw fichiers:
knitr
par défaut émule le comportement de la commande interactive en ligne de wrt. print
ing. Notez que knitr
peut être spécifié comme Sweaving moteur pour le package R vignettes.