El qplot de ggplot no se ejecuta en el abastecimiento

Resuelto Grega Kešpret asked hace 54 años • 1 respuestas

Supongamos que tengo 2 archivos fuente, el primero con nombre example1.ry el segundo example2.r(que se muestran a continuación).

ejemplo1.r

plot(1:10,1:10)

ejemplo2.r

qplot(1:10,1:10)

Cuando obtengo el ejemplo1.r, se dibuja el gráfico. Sin embargo, no es así cuando obtengo example2.r. ¿Cuál es la solución aquí?

(qplot en example2.r es la función de ggplot2 )

Grega Kešpret avatar Jan 01 '70 08:01 Grega Kešpret
Aceptado

Actualizar :

  • Archivos .R: source la opción print.eval=TRUEconducirá a un comportamiento de impresión del resultado de la evaluación como en la línea de comando interactiva.

source("Script.R", print.eval=TRUE)

  • Archivos .Rnw: knitr por defecto emula el comportamiento de la línea de comando interactiva wrt. printEn g. Tenga en cuenta que knitrtambién se puede especificar como motor Sweaving para viñetas del paquete R.


Esta es mi respuesta original. Pero tenga en cuenta que esta solución alternativa ahora, en mi humilde opinión, está completamente obsoleta (y siempre fue buena solo para un pequeño nicho perezoso).

Esta es la famosa pregunta frecuente 7.22: ¿Por qué no funcionan los gráficos de celosía/enrejado?.

Para gráficos de cuadrícula como ggplot2 o lattice, es necesario imprimir el objeto gráfico para poder dibujarlo.

De forma interactiva en la línea de comando, esto se hace automáticamente. En cualquier otro lugar (dentro de los archivos que se obtendrán, bucles, funciones, fragmentos de Sweave) debe imprimirlo explícitamente.

print (qplot (1 : 10, 1 : 10))

Alternativamente, puede redefinir qplotpara realizar la impresión:

qplot <- function (x, y = NULL, z = NULL, ...) {
  p <- ggplot2::qplot (x = x, y = y, z = z, ...)
  print (p)
}

(Esto cambia las etiquetas de los ejes a xey).

Utilizo este enfoque en viñetas en las que quiero escribir código exactamente como lo escribiría un usuario en una sesión interactiva.

cbeleites unhappy with SX avatar Jul 13 '2011 07:07 cbeleites unhappy with SX