2010-08-12 44 views
8

我希望能夠利用亞馬遜現貨實例,這種實例成本更低,但可隨時終止。我想設置它,以便我可以通過腳本中途發送自己的數據,以便將來可以從那裏接收數據。如何從R腳本發送自己的數據?

我怎樣給自己發送一封.rdata文件?

難度:理想的解決方案不會涉及RCurl,因爲我無法在我的機器實例上安裝該軟件包。

回答

8

就像你在命令行中一樣 - 我喜歡你在Debian和Ubuntu中找到的mpack二進制文件。

所以數據保存到一個文件/tmp/foo.RData(或生成的臨時名稱),然後

system("mpack -s Data /tmp/foo.RData [email protected]") 
在R.

即假定EC2實例有郵件設置,當然。

編輯每個請求一個windoze替代:blat已被其他人推薦此任務。

+0

Hrmmm,有關如何使用Windows做到這一點的任何想法? – 2010-08-12 02:43:59

+0

是的,*與命令行*中的方式相同。有一些Windows工具可以模擬cmdline Unix郵件行爲。谷歌它...我已經忘記了細節,因爲我需要這樣的工具已經有好幾年了。除了其他地方,解決方案還在r-help檔案庫中。 – 2010-08-12 03:11:54

+1

[blat](http://www.blat.net)就是我所想的那樣,是別人推薦的。 – 2010-08-12 03:20:11

2

R News from 2007有一篇關於此的好文章。除此之外,作者還介紹了一些在發生錯誤時捕捉錯誤的策略,並在發生這種情況時自動發送電子郵件警報 - 有助於進行長時間模擬。

偏題:該文章還提供了關於linux/unix工具screenmake如何對遠程監控和自動錯誤報告非常有用的提示。當你願意讓R給你發電子郵件時,這些也可能是相關的。

0

你問的問題可能不是通過電子郵件,而是通過使用EBS卷最好的解決。無論實例如何,音量都會持續存在(但請注意,我指的是EBS音量而不是EBS支持的實例)。

another question中,如果您希望在處理過程中使用單獨的函數來存儲數據,那麼我提到了一些檢查點和相關工具的選項。