由于导入功能,Crontab R脚本失败(Rstudio已关闭)
我试图在Rstudio关闭的情况下使用crontab运行Rscript,在运行脚本时,日志中出现以下错误:由于导入功能,Crontab R脚本失败(Rstudio已关闭),r,cron,rscript,R,Cron,Rscript,我试图在Rstudio关闭的情况下使用crontab运行Rscript,在运行脚本时,日志中出现以下错误: Warning message: package ‘dplyr’ was built under R version 4.0.2 Error in import("~/Desktop/R/Projects/TestFile.csv", : could not find function "import" Execution halted
Warning message:
package ‘dplyr’ was built under R version 4.0.2
Error in import("~/Desktop/R/Projects/TestFile.csv", :
could not find function "import"
Execution halted
根据我对crontab功能的有限了解,“导入”功能只能与Rstudio open一起使用。有没有办法解决这个问题,比如使用一个替代函数导入一个可以使用crontab读取的文件
注意:该脚本在Rstudio中运行时有效
编辑:
Crontab指令:
if (!require("cronR")) {
install.packages("cronR")
library(cronR)
}
cron_clear(ask=FALSE)
f <- "~/Desktop/R/Projects/MyRCode.R"
cmd <- cron_rscript(f)
cmd
cron_add(cmd, frequency = "daily", id = "test", at = "16:30")
if(!require(“cronR”)){
安装程序包(“cronR”)
图书馆(cronR)
}
cron_清除(ask=FALSE)
函数导入来自rio包。您的自动脚本失败,因为您没有像在library(rio)
中那样加载该包。如果您没有加载包rio,这在RStudio本身也不可能起作用。查看两件事会很有用:1)运行脚本的crontab
命令。2) 脚本本身。我添加了一个编辑部分,其中包含您需要的信息。我有许多程序包,我希望用它们来扩展代码,因此有一长串的程序包选择。不幸的是,即使添加了rio,我仍然会遇到同样的错误。我不相信你。我很抱歉读到这一点,但事实就是如此。当Rstudio关闭时,rio包在crontab中工作吗?在这种情况下,这可能仍然会导致错误。当然,在我看来,您还没有以root用户身份安装rio包
library("miniUI")
library("shinyFiles")
library(quantmod)
if (!require("httr")) {
install.packages("httr")
library(httr)
}
if (!require("jsonlite")) {
install.packages("jsonlite")
library(jsonlite)
}
if (!require("gsubfn")) {
install.packages("gsubfn")
library(gsubfn)
}
if (!require("rjson")) {
install.packages("rjson")
library(rjson)
}
if (!require("RJSONIO")) {
install.packages("RJSONIO")
library(RJSONIO)
}
library(dplyr)
rio_csv <- import("~/Desktop/R/Projects/TestFile.csv",stringsAsFactors=FALSE)
df <- data.frame("Ticker" = rio_csv[,1],"Amount" = rio_csv[,3], "Shares" = rio_csv[,6],"Average"= rio_csv[,8])
write_json(df,"~/Desktop/R/Projects/JSONFile.json")