在R的特定时间自动通过电子邮件发送pdf图形输出

时间:2012-04-23 05:32:04

标签: r email pdf

我有一些脚本我想每天早上6点运行。这些脚本将一些pdf图形输出生成到文件中:foo.pdf

我希望我的系统(让我们说Win 7,> = R 2.13)在系统运行完脚本后通过电子邮件发送给我这些pdf文件。

哪个是最好的套餐 - 以及最有效的设置方式 - 将这些报告通过R的附件直接通过电子邮件发送给我?

是否有任何'酷'扩展(如sink() - 报告文本输出到电子邮件正文中)?

提前感谢任何建议。

2 个答案:

答案 0 :(得分:3)

您可以利用package that can handle emails与chron作业相结合的力量。在Windows 7上,我使用Windows Task Scheduler实现了类似于此的功能。基本上,您将其设置为在指定时间运行特定脚本。

答案 1 :(得分:2)

我每天都有一个脚本运行,并且有很多问题要运行它。首先看一下Roman的附件链接和R代码。这是关于Windows 7中的非R部分。

我直接从Windows任务计划程序运行R脚本时遇到问题,所以我安排了一个批处理文件,每天运行如下:

@echo on
"C:\Rpath\R-2.15.1\bin\i386\Rcmd.exe" BATCH "C:\filepath\filetorun.R"

这是最简单的,但Quick R是一个起点。

根据计算机的设置,您可能需要调整任务计划程序。如果它是一个始终打开的服务器类型,那么你不应该有太多问题(而且你知道你在做什么)。如果您必须注销并使用密码登录或访问共享驱动器,则必须执行以下某些操作。此外,我不知道管理员权利是否是必要的。

打开任务计划程序,创建新任务,然后打开其属性窗口。

在“常规”下,检查用户帐户并选择“运行用户是否登录”并取消选中“不存储密码”。这将允许您的脚本在您注销时运行(我认为它在Locked时不起作用)。当您单击“确定”时,它将要求您输入密码。

基本设置:触发器是“按计划进行”,高级已启用。在“操作”下,选择“启动程序”,将程序/脚本作为.bat文件。

在“条件”下,取消选中“仅在comp空闲时启动任务”并选中“唤醒计算机以运行此任务”。在“设置”下,选中“允许任务按需运行”,选中“如果正在运行的任务未结束..”,并在底部选择“停止现有实例”。这些选项可能是必要的,但我对这些选项并不确定。

另一个技巧是,如果您的公司每隔一段时间就切换一次密码。更改后打开并关闭任务,以便再次询问您的密码。输入新的,否则它无法登录,也不会运行您的脚本。