gpt4 book ai didi

Perl Statistics::R 生成空白绘图图像 (jpeg)

转载 作者:行者123 更新时间:2023-12-04 20:19:07 26 4
gpt4 key购买 nike

我目前使用 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 中,因为我已经在该包中进行了交互以进行分析。谢谢!

最佳答案

忘记统计数据::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 这个文件中。

关于Perl Statistics::R 生成空白绘图图像 (jpeg),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8721521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com