我有一个 R 脚本,它只打印今天的日期。它在 Rstudio 中运行得很好,但是当在批处理文件中设置为任务时,它会产生以下错误
Warning message:
package 'dplyr' was built under R version 3.4.4
Loading required package: NLP
Warning message:
package 'tm' was built under R version 3.4.4
Error in today() : could not find function "today"
Execution halted
Run Code Online (Sandbox Code Playgroud)
这是脚本:
library(rvest)
library(dplyr)
library(tm)
yesterday <- today()
yesterday <- gsub("-", "", yesterday, fixed=TRUE)
print(yesterday)
Run Code Online (Sandbox Code Playgroud)
批处理文件:
"C:\Program Files\R\R-3.4.2\bin\R.exe" CMD BATCH --vanilla --slave "C:\Users\mike\Desktop\Make_Task\TEST_YESTERDAY.R"
timeout /t 5
Run Code Online (Sandbox Code Playgroud)
当您不知道 R 函数的来源时,我建议您在rdocumentation.org 中搜索该函数的名称。在这些结果中,您可以看到它today来自lubridate包。
就我个人而言,我建议使用内置来删除外部依赖项Sys.Date()。但是添加library(lubridate)到脚本的顶部也应该有效(假设lubridate已安装)。