我目前正在使用ActiveState Perl 5.14和R项目版本2.13.2。在Perl中我使用Statistics :: R版本0.08。根据ActiveState,最新版本的Statistics::R
(通过0.24)未能通过审查,因此无法通过PPM获得。
历史:我已成功使用Perl访问R一段时间来执行分析。现在我想生成分析结果的JPEG图像,以便于可视化。
问题在于:我可以在R控制台中成功生成图像。但是,当我通过Perl运行相同的命令时,我只得到一个空白图像。我的控制台代码包括(当然简化):
x<-c(1,2,3,4,5)
y<-c(5,4,3,2,1)
jpeg("C:/temp.jpg")
plot(x,y)
dev.off()
我的Perl命令包括(也简化):
$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()");
有什么建议吗?我知道Perl还有其他可以使用的绘图选项。我已经删除了一些(GD Graph),因为X轴数据不被视为数字。如果可能的话,我宁愿把它保留在R中,因为我已经在那个包中进行分析了。谢谢!
答案 0 :(得分:4)
忘记统计:: R。只需使用系统调用。至少这是我做的!
my $path_to_r = "C:/Program Files/R/bin/Rscript.exe";
my $cmd = "x<-c(1,2,3,4,5);";
$cmd .= "y<-c(5,4,3,2,1);";
$cmd .= 'jpeg("C:/temp.jpg");';
$cmd .= "plot(x,y);";
$cmd .= "dev.off()";
system($path_to_r . " -e '" . $cmd . "'");
如果您的R脚本稍微增长或者从参数中获取输入,请将其写入文件和Rscript.exe此文件中。
答案 1 :(得分:0)
对于我来说,它对Statistics R :: 0.27很好,但不是0.08,这是我在Active perl的包管理器中找到的唯一版本。为了安装0.27,我不得不使用cpan
命令行。使测试失败,但安装很好。一点救命。
(顺便说一下,我是一个相对的菜鸟。然而,使用cpan
命令行非常容易
然后从i /Statistics-R/
命令行输入cpan
安装FANGLY / Statistics-R-0.27.tar.gz(或任何相关文件。我正在使用Windows系统,所以RSPerl恼人地不是我的选项。我注意到最新的Statistics :: R版本是2012年3月所以也许一些先前记录的(管道?)问题已经解决。你可能还需要安装'制造商';在我的情况下它是'dmake',而不是'nmake'。很简单,你可以得到一个版本的make从M $网站上将+ .err文件复制到PERL \ bin目录中。但在其他地方可以获得帮助。希望这有帮助!)