看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 讓R每5分鐘執行一次資料下載 [程式範例]: library(jsonlite) library(RCurl) library(httr) while (TRUE) { if (format(Sys.time(), "%S") == "01") return("Downloading") else Sys.sleep(300) Dataurl<-url("https://airbox.edimaxcloud.com/devices?token=EA81A1FA-8EDB-4CA0- B07B-A881C74B0401") DATA<-fromJSON(Dataurl) Table<-data.frame(DATA) date <- sprintf("%s_minutes.csv", format(Sys.time(),"%Y%m%d%H%M%S")) outfile = paste("D:\\", date, sep = "") write.csv(Table, file = outfile) } # 以上code已可成功執行並output,只是 return("Downloading") 沒什麼供用 # http://i.imgur.com/mdIdBY1.jpg 結果如連結圖片 [環境敘述]: R-Studio [關鍵字]: 選擇性,也許未來有用 Sys.time sys.sleep time loop -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.1.187 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1499754775.A.D03.html
cccc12345: R的資料夾地址不是用\是用/吧, 你試試,看起來應該是寫 07/11 15:21
cccc12345: 檔有問題 07/11 15:21
cccc12345: outfile = paste("D:/", date, sep = "") 07/11 15:21
peterwu76: 資料夾的位置單獨run沒有問題,主要是前面怎麼讓他 07/11 15:59
peterwu76: 定時被呼叫的部分,還有sys.sleep的部分 07/11 15:59
clansoda: 寫一個endless loop呢? 07/11 16:15
clansoda: if (TRUE) do something 然後 sys.sleep(300) 07/11 16:15
cccc12345: 定時其實可以 把 cd 你的rscript.exe地址 要執行的r 07/11 16:18
cccc12345: 放在該資料夾 在下個RSCRIPT 你的R檔 整合成1個BAT檔 07/11 16:20
cccc12345: 用WINDOWS的工作排成器設定定時執行bat檔 07/11 16:21
cccc12345: https://goo.gl/NctFhk 07/11 16:27
cd12631: 直接寫成一個R檔用工作排成就好 07/11 16:47
peterwu76: 謝謝前輩分享,雖然看起來用排程可以解決,但如果可以 07/11 17:17
peterwu76: 為什麼不用R script解決@@? 07/11 17:17
※ 編輯: peterwu76 (140.112.1.187), 07/11/2017 17:36:34
clansoda: 我建議的是一個方向 因為我做過類似的事情 但是其他前輩 07/11 17:52
clansoda: 說的排程我覺得是比較正規的作法 07/11 17:52
celestialgod: 其實還有taskscheduleR這個套件可以輔助 07/11 18:00
celestialgod: 不過我後來都用linux的crontab.... 07/11 18:01
peterwu76: 我想應該是這樣才比較不吃電腦資源,不用長期間執行R一 07/11 18:01
peterwu76: 直run? 07/11 18:01
clansoda: 他也不是長期一直Run吧 Run完他就停了阿 你不是五分鐘一 07/11 18:08
clansoda: 次嗎 07/11 18:08
clansoda: 喔 我誤會你意思 對阿 用那個排程就是比較實際的方法 07/11 18:08
peterwu76: 感謝感謝XD 07/11 19:41
※ 編輯: peterwu76 (123.193.92.13), 07/11/2017 21:40:23
cd12631: 撇開吃資源這事情 我是覺得用排程就是利用已經有的東西 07/11 22:56
cd12631: 不用特別再去自己重新造輪子 把事情簡單化 07/11 22:57
peterwu76: 感謝,難怪板上很少討論用code定時執行。 07/12 17:29