R today()中的错误:找不到“ today”函数

时间:2018-10-03 14:14:13

标签: r

我有一个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

以下是脚本:

library(rvest)
library(dplyr)
library(tm)

yesterday <- today()
yesterday <- gsub("-", "", yesterday, fixed=TRUE)

print(yesterday)

批处理文件:

"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

3 个答案:

答案 0 :(得分:3)

当您不知道R函数的来源时,建议您搜索rdocumentation.org for the name of the function。在这些结果中,您可以看到today来自lubridate软件包。

就个人而言,我建议使用内置的Sys.Date()来消除外部依赖性。但是将library(lubridate)添加到脚本顶部也应该可以(假设已安装lubridate)。

答案 1 :(得分:1)

today()函数来自lubridate包。您可能是在RStudio中手动加载了该软件包,因此不在您的代码中。只需在脚本的开头添加library(lubridate),就可以了。

或者,您也可以从r-base使用Sys.Date()

答案 2 :(得分:0)

先尝试使用 lubridate,然后尝试使用 today()now() 你会得到答案。

install.packages("lubridate")

library("lubridate")

today()

[1] "2021-04-26"

now()

[1] "2021-04-26 07:09:37 UTC"