我有一個R腳本,可以從R或命令行運行得很好。它的操作非常簡單。它只需要一些定期更新的數據,進行一些分析,繪製一些圖並將其保存到磁盤。我想自動運行它,與數據更新同步,因此我試圖在cron作業下運行它。它一切都很好,直到它將圖像寫入磁盤。然後它告訴我它無法打開第一張圖片,並失敗。我嘗試了所有我能想到的東西:檢查運行目錄中的權限,確保cron正在運行,將我的cron命令從「R CMD BATCH」切換到「Rscript」。沒有任何工作。再次,腳本在R或命令行中運行得很好。任何人對我還能做什麼有什麼想法? (順便說一句,我也發現這個類似的問題在這個網站,但鑑於那裏的答案在我的具體情況沒有幫助。)cron無法運行R腳本
有問題的代碼似乎是:
png(file=nd_pic_image_names[1],height=720,width=720)
錯誤返回的是:
Error in X11(paste("png::", filename, sep = ""), g$width, g$height, pointsize, :
unable to start device PNG
Calls: png
In addition: Warning message:
In png(file = nd_pic_image_names[n], height = 720, width = 720) :
unable to open connection to X11 display ''
Execution halted
我不明白「X11」的東西。我沒有在代碼中的任何地方引用X11(),並且我不打算在打開(或試圖打開)我的PNG文件之前繪圖。謝謝。
它可能有助於從腳本中提供錯誤消息和相關的代碼片段。 – flodel
請參閱編輯以提問。 –
Bob,X11指的是「X」窗口系統,它比我們通常處理的計算機東西低幾層。它被'R'的'plot()'函數調用以寫入屏幕。當然,'png()'寫入文件而不是屏幕。請參閱Andrie的答案:http://stackoverflow.com/a/8322743/563329 – isomorphismes