У меня есть фрейм данных e, в котором есть столбец даты. В исходном файле даты сохраняются как коэффициенты. Поэтому я преобразовываю их в символьные строки. В этих строках они имеют формат День / Месяц / Год Час: Минута, например 27.05.2014 15:42. Затем я использую strptime для преобразования этих строк в объекты POSIXct.
e$Date = as.character(e$Date)
e$Date = strptime(e$Date, tz = "UTC", format = "%d/%m/%Y %H:%M")
Все выглядит хорошо на выходе, потому что даты теперь имеют форму «2014-05-27 15:42:00 UTC». Тем не мение. Когда я использую which () для поиска дат после "2016-02-14 00:51:00 UTC", я получаю неправильные даты!
which(e$Date>"2016-02-14 00:51:00 UTC")
Команда возвращает список дат, которые начинаются с «2016-02-12 08:54:00 UTC», хотя есть несколько десятков дат после моей начальной точки, но до «2016-02-12 08:54:00 UTC» что в него не входит. Кажется, сдвигается вперед на 8 или 9 часов.
Я знаю, что что-то не так с часовыми поясами. Я видел ответ на Subset dataframe на основе даты и времени POSIXct больше, чем datetime, с использованием dplyr, который казался очень близким к моей проблеме. Тем не менее, я указал часовой пояс в моей исходной команде strptime (я также пробовал использовать as.POSIXct вместо strptime и имел ту же проблему).
Может ли кто-нибудь увидеть, что я делаю неправильно ???