我在数据框中有一个以这种格式表示的日期:
我需要将其转换为星期几(即183)。类似于:
但是它不理解日期的格式。
"02-July-2015"
我需要将其转换为星期几(即183)。类似于:
df$day_of_week <- weekdays(as.Date(df$date_column))
但是它不理解日期的格式。
lubridate
将日期转换为星期几或一年中的第几天。library(lubridate)
# "02-July-2015" is Thursday
date_string <- "02-July-2015"
dt <- dmy(date_string)
dt
## [1] "2015-07-02 UTC"
### Day of week : (1-7, Sunday is 1)
wday(dt)
## [1] 5
### Day of year (1-366; for 2015, only 365)
yday(dt)
## [1] 183
### Or a little shorter to do the same thing for Day of year
yday(dmy("02-July-2015"))
## [1] 183
day = as.POSIXct("02-July-2015",format="%d-%b-%Y")
# see ?strptime for more information on date-time conversions
# Day of year as decimal number (001–366).
format(day,format="%j")
[1] "183"
#Weekday as a decimal number (1–7, Monday is 1).
format(day,format="%u")
[1] "4"
as.numeric
以便通过分类器。# day <- Sys.time()
as.num.format <- function(day, ...){
as.numeric(format(day, ...))
}
doy <- as.num.format(day,format="%j")
doy <- as.num.format(day,format="%u")
hour <- as.num.format(day, "%H")
strftime(as.Date("02-Jan-2015",format = "%d-%b-%Y"), format = "%j")
。 - user1309940