Преобразование UnixTime в дневные интервалы (утро, вечер, ночь и т. Д.) В R
У меня есть таблица со столбцом TIMESTAMP со значениями Unix Time. Мне нужно преобразовать его в интервалы дня, такие как ночь, утро, до дня, полдень, сумерки, вечер.
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
Что я делаю не так?
1 ответ
Я бы попробовал c("ночь", "утро", "до_полудня", "день", "сумерки", "вечер")[findInt erval(as.POSIXlt(время)$ час,c(0),6,9,15,1 8,20))]. - Никола 1 июня в 11:06