Я работаю с большим набором данных (наблюдение 100k) раз, используя функцию as.POSIXct.POSIXct и различные часовые пояса
Времена, однако, имеют два различных часовых поясов:
"Thu Jan 17 09:29:10 EST 2013"
"Sun Mar 10 21:31:28 EDT 2013"
Я пытаюсь поставить их в тот же часовой пояс и формат, так что я могу найти время расстояние между ними. Я делаю это следующим образом:
as.POSIXct("Thu Jan 17 09:29:10 EST 2013", format="%a %b %d %H:%M:%S EST %Y")
as.POSIXct("Sun Mar 10 21:31:28 EDT 2013", format="%a %b %d %H:%M:%S EDT %Y")
Я хочу сделать это конверсия оптом. Для этого я создал следующие функции, если:
mydata$converteddate = numeric(length(mydata$dates))
for (i in seq_along(mydata$converteddate)) {
if (grepl("EST",mydata$dates[i])) mydata$converteddate[i]=as.POSIXct(mydata$dates, format="%a %b %d %H:%M:%S EST %Y")
if (grepl("EDT",mydata$dates[i])) mydata$converteddate[i]=as.POSIXct(mydata$dates, format="%a %b %d %H:%M:%S EDT %Y")-(60*60)}
Это побежал в течение последних нескольких часов, что, кажется, что это не должно быть так. Есть ли более быстрые проблемы? Обратите внимание, что часть 60 * 60 преобразует EDT в EST.
EDIT: уточнить, мой главный вопрос - это не вопрос часового пояса, но как эффективно перебирать набор данных для преобразования всех дат в удобный формат. Я ушел со своего компьютера в течение 5 часов, и он все еще работал на 100 тыс. Случаев.
Это тот же часовой пояс; «EDT» просто обозначает, что дневная экономия действует. Например, 'as.POSIXct (« 2013-03-09 01:01:00 », tz =« America/New_York ») + (24 * 3600) * (0: 2)'. – nrussell
Или еще лучше, 'as.POSIXct (" 2013-03-10 01:59:59 ", tz =" America/New_York ") + 0: 2'. – nrussell
Мой вопрос не обязательно в часовом поясе, но как цикл для преобразования всех из них. Другая проблема заключается в том, что я работаю с циклами для этого процесса, который я вычисляю, принимая разницу между двумя датами. Если кто-то находится в EDT, а другой находится в EST, необходимо преобразование, правильно? Есть ли лучший способ выполнить все данные для преобразования? – macworthy