在R中编写一个日期作为输入的函数

时间:2016-07-26 06:27:26

标签: r

我想写一个函数,它将日期作为输入参数,输出将是日,月,周和星期。我的示例代码显示了一些错误。请帮助我 在这方面,谢谢。

我的示例代码如下:

       myFunction <- function(date){
       date <-as.numeric(as.Date(date, format = "%m/%d/%Y",origin = "1899-12-30"))
       date$month<- strftime(date,"%m")
       date$day<- strftime(date,"%d")
       data$week<-strftime(date,"%w")
       date$week_year<-strftime(date,"%W")
       return(date$day,date$month,date$week,date$week_year)
       }

当我调用函数时,显示错误:

       myFunction(2016-07-26)
 Error in as.POSIXlt.numeric(x, tz = tz) : 'origin' must be supplied 

1 个答案:

答案 0 :(得分:1)

您的输入是一个字符串。使用lubridate你可以写

myFunction <- function(date){
   library(lubridate)
   t0 <- ymd(date)
   return(list(day(t0), month(t0), week(t0), wday(t0, label=F, abbr=F), year(t0)))
   }