[問題] 使用 crontab 排程要執行 R 程式
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉) & linux 新手
[問題敘述]:
想要在 Linux底下用 crontab 排程 執行 R 程式
用 Rstudio 直接執行,就一切正常
但是換到用 crontab 設定排程就會產生錯誤..
主要是說 bitops 與 XML 套件找不到...!
請問是不是要把我所需要的套件設成 R 裡面預設的套件?
除require("套件名稱") 與 library("套件名稱")之外
有其它的做法嗎?
PS. 其實我有寫一個小程式來測試 crontab 來執行 R 程式, 執行結果是正常的...
以下為輸出的錯誤訊息:
Loading required package: bitops
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE,
logical.return = TRUE, : there is no package called ‘bitops’
Loading required package: XML
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return =
TRUE, : there is no package called ‘XML’
Loading required package: RCurl
Warning message:In library(package, lib.loc = lib.loc, character.only
= TRUE, logical.return = TRUE, : there is no package called ‘RCurl’
Loading required package: DBI
Loading required package: methods
Loading required package: RMySQL
Error in library(bitops) : there is no package called ‘bitops’
停止執行
[環境敘述]:
請提供 sessionInfo() 的輸出結果,
R version 3.2.4 Revised (2016-03-16 r70336)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.4 LTS
locale:
[1] LC_CTYPE=zh_TW.UTF-8 LC_NUMERIC=C LC_TIME=zh_TW.UTF-8
[4] LC_COLLATE=zh_TW.UTF-8 LC_MONETARY=zh_TW.UTF-8 LC_MESSAGES=zh_TW.UTF-8
[7] LC_PAPER=zh_TW.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=zh_TW.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] RMySQL_0.10.8 DBI_0.3.1 RCurl_1.95-4.8 XML_3.98-1.4 bitops_1.0-6
loaded via a namespace (and not attached):
[1] tools_3.2.4
感謝各位大大
謝謝
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.206.122
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1459017111.A.CF7.html
推
03/27 08:42, , 1F
03/27 08:42, 1F
→
03/27 08:43, , 2F
03/27 08:43, 2F
誠如 obarisk 大大所言
在 crontab -e 下執行 .libPath()結果
[1] "/usr/local/lib/R/site-library"
[2] "/usr/lib/R/site-library"
[3] "/usr/lib/R/library"
在 Rstdudio 下執行 .libPath()結果
的確 crontab 少了 /home/yoyo/... 這一行
[1] "/home/yoyo/R/x86_64-pc-linux-gnu-library/3.2"
[2] "/usr/local/lib/R/site-library"
[3] "/usr/lib/R/site-library"
[4]"/usr/lib/R/library"
請問該如何解決?
推
03/27 08:46, , 3F
03/27 08:46, 3F
→
03/27 08:46, , 4F
03/27 08:46, 4F
請問 swedrf0112 大大
權限是要用 sudo Rscript 嗎?...
我不太明白...不過我加了結果還是一樣...
※ 編輯: corel (1.168.215.2), 03/28/2016 07:58:51
→
03/28 08:23, , 5F
03/28 08:23, 5F
→
03/28 08:23, , 6F
03/28 08:23, 6F
→
03/28 08:23, , 7F
03/28 08:23, 7F
→
03/28 08:23, , 8F
03/28 08:23, 8F
→
03/28 08:24, , 9F
03/28 08:24, 9F
→
03/28 08:24, , 10F
03/28 08:24, 10F
→
03/28 08:25, , 11F
03/28 08:25, 11F
感謝 Wush978 版主大大的回應
小的剛剛想到一個很笨的方法
就是在inlcude library下
library("XML", lib.loc="指定lib安裝的路徑")
這樣可以在crontab下正常的執行
我有看過Wu大的教學影片
真是惠我良多
謝謝
※ 編輯: corel (211.73.74.11), 03/28/2016 09:50:05
推
03/28 18:49, , 12F
03/28 18:49, 12F
→
03/28 18:50, , 13F
03/28 18:50, 13F
→
03/28 18:50, , 14F
03/28 18:50, 14F