Find the day of a week

前端 未结 7 1921
长情又很酷
长情又很酷 2020-11-22 17:37

Let\'s say that I have a date in R and it\'s formatted as follows.

   date      
2012-02-01 
2012-02-01
2012-02-02

Is there any way in R to

7条回答
  •  生来不讨喜
    2020-11-22 17:57

    df = data.frame(date=c("2012-02-01", "2012-02-01", "2012-02-02")) 
    df$day <- weekdays(as.Date(df$date))
    df
    ##         date       day
    ## 1 2012-02-01 Wednesday
    ## 2 2012-02-01 Wednesday
    ## 3 2012-02-02  Thursday
    

    Edit: Just to show another way...

    The wday component of a POSIXlt object is the numeric weekday (0-6 starting on Sunday).

    as.POSIXlt(df$date)$wday
    ## [1] 3 3 4
    

    which you could use to subset a character vector of weekday names

    c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", 
        "Friday", "Saturday")[as.POSIXlt(df$date)$wday + 1]
    ## [1] "Wednesday" "Wednesday" "Thursday" 
    

提交回复
热议问题