我目前正在使用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()
Run Code Online (Sandbox Code Playgroud)
我的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()");
Run Code Online (Sandbox Code Playgroud)
有什么建议?我知道Perl还有其他可以使用的绘图选项.我已经删除了一些(GD Graph),因为X轴数据不被视为数字.如果可能的话,我宁愿把它保留在R中,因为我已经在那个包中进行分析了.谢谢!
忘记统计数据::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 . "'");
Run Code Online (Sandbox Code Playgroud)
如果您的 R 脚本增长了一些,或者需要从参数中输入,请将其写入一个文件中,并将 Rscript.exe 写入该文件中。
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |