0
我有一個帶有Unix時間值的TIMESTAMP列表。我需要將它轉換爲一天的時間間隔,如夜間,早上,下午,下午,黃昏,晚上。將UnixTime轉換爲R中的日期間隔(早上,晚上,晚上等)
data$TIMESTAMP[1]
[1] 1372636858
time <- anytime(1372636858)
> time
[1] "2013-07-01 01:00:58 WEST"
我做:
cut(time, breaks= as.POSIXct(paste("2001-01-01",c("00:00:00", "06:00:00", "09:00:00","12:00:00","15:00:00","18:00:00", "20:00:00")),format="%Y-%m-%d %H:%M:%S", tz ="Portugal"),labels=c('night','morning','before_afternoon','afternoon','twilight','evening'))
輸出:
[1] <NA>
Levels: night morning before_afternoon afternoon twilight evening
我做錯了嗎?
它不工作,因爲日期不同(2013-07-01和2001-01-01)。您可能需要刪除時間元素。 –
我想嘗試c('night','morning','before_afternoon','afternoon','twilight','evening')[findInterval(as.POSIXlt(time)$ hour,c(0,6, 9,15,18,20))]'。 – nicola
它以這種方式工作!正是我需要的。非常感謝!!!! – Larisa