Actualmente estoy usando ActiveState Perl 5.14 y el proyecto R versión 2.13.2. Dentro de Perl, estoy usando Statistics :: R version 0.08. Según ActiveState, las versiones más recientes de Statistics::R
(hasta 0.24) no pasaron el escrutinio y, por lo tanto, no están disponibles a través del PPM.Perl Statistics :: R genera imagen de trazado en blanco (jpeg)
Historial: he estado utilizando Perl con éxito para acceder a R durante un tiempo para realizar análisis. Ahora quiero generar imágenes JPEG de los resultados del análisis para una fácil visualización.
Aquí está el problema: puedo generar las imágenes correctamente desde la consola R. Sin embargo, cuando ejecuto los mismos comandos a través de Perl, solo obtengo una imagen en blanco. Mi código consola incluye (simplificado, por supuesto):
x<-c(1,2,3,4,5)
y<-c(5,4,3,2,1)
jpeg("C:/temp.jpg")
plot(x,y)
dev.off()
Y mis comandos Perl incluyen (también simplificado):
$R = Statistics::R->new();
$R->start_sharedR
$R->send("x<-c(1,2,3,4,5)");
$R->send("y<-c(5,4,3,2,1)");
$R->send('jpeg("C:/temp.jpg")');
$R->send("plot(x,y)");
$R->send("dev.off()");
¿Alguna sugerencia? Sé que hay otras opciones de trazado disponibles para Perl. He eliminado algunos (GD Graph) porque los datos del eje X no se tratan como numéricos. Preferiría mantenerlo en R si es posible ya que ya estoy interactuando en ese paquete para el análisis. ¡Gracias!
Intenta usar el paquete 'Cairo' (p. 'CairoJPEG()'), las funciones integradas como 'jpeg' pueden depender del back-end desde el que lo ejecute, por lo que algunas capacidades pueden estar disponibles desde la GUI de R pero no cuando están incrustadas (no revisé esta instancia, pero Cairo funciona independientemente del back-end). –
Ejecuté el código Perl que me proporcionó (habilitando tanto 'strict' como' warnings') y funcionó bien. Sé por experiencia anterior que 'Statistics :: R' solía tener problemas para escribir gráficos en las imágenes (o al menos lo hizo en mi sistema). Asegúrese de que su versión de 'Statistics :: R' esté actualizada. –
Con ActiveState creo que estoy limitado a 0.08. – Ryan