隨着基礎R,你可以這樣做:
dat <- data.frame(
Date = c("Sunday, Jul 27" ,"Tuesday, Jul 29", "Wednesday, July 31", "Wednesday, July 31"),
Year = rep(2008, 4),
stringsAsFactors = FALSE
)
dts <- as.POSIXlt(paste(dat$Year, dat$Date), format = "%Y %A, %B %d")
POSIXlt
提供的日期/時間基於列表的引用。要看到它們,請嘗試unclass(dts[1])
。
從這裏可以是相當學歷:
dat$Month = 1 + dts$mon # months are 0-based in POSIXlt
dat$Day = dts$mday
dat$Day_of_Week = weekdays(dts)
dat
# Date Year Month Day Day_of_Week
# 1 Sunday, Jul 27 2008 7 27 Sunday
# 2 Tuesday, Jul 29 2008 7 29 Tuesday
# 3 Wednesday, July 31 2008 7 31 Thursday
# 4 Wednesday, July 31 2008 7 31 Thursday
如果你打算做很多日期操縱我想看看裏面有很多的靈活性lubridate包。 – Elin
你應該發佈這樣的結構的dput()版本(它可能是一個蹣跚,有點難以準確地重新創建)。 –