конвертировать символ на дату * быстро * в R

Возможный дубликат:
Почему as.Date замедляет вектор символа?

У меня есть большой data.frame (примерно 60 мил наблюдений), который я читал из базы данных с помощью RMySQL . Даты вводятся как символы (похоже, нет способа изменить это), поэтому я использую as.Date для преобразования вещей на сегодняшний день. Тем не менее, это занимает очень много времени во многих наблюдениях. Есть ли что-то, что можно сделать, чтобы сделать это быстрее?

    Библиотека быстрого времени Саймона Урбанека очень быстро подходит для подмножества времени синтаксического анализа :

     R> now <- Sys.time() R> now [1] "2012-10-15 10:07:28.981 CDT" R> fasttime::fastPOSIXct(format(now)) [1] "2012-10-15 05:07:28.980 CDT" R> as.Date(fasttime::fastPOSIXct(format(now))) [1] "2012-10-15" R> 

    Однако он обрабатывает только форматы ISO и принимает UTC как часовой пояс.

    Редактировать после 3 1/2 лет: Некоторые комментаторы, похоже, считают, что пакет быстрого времени сложно установить. Позволю себе не согласиться. Здесь (еще раз) используйте install.r который представляет собой просто простую оболочку с использованием littler (а также отправлен в качестве примера):

     [email protected]:~$ install.r fasttime trying URL 'https://cran.rstudio.com/src/contrib/fasttime_1.0-1.tar.gz' Content type 'application/x-gzip' length 2646 bytes ================================================== downloaded 2646 bytes * installing *source* package 'fasttime' ... ** package 'fasttime' successfully unpacked and MD5 sums checked ** libs ccache gcc -I/usr/share/R/include -DNDEBUG -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -O3 -Wall -pipe -pedantic -std=gnu99 -c tparse.c -o tparse.o ccache gcc -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o fasttime.so tparse.o -L/usr/lib/R/lib -lR installing to /usr/local/lib/R/site-library/fasttime/libs ** R ** preparing package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded * DONE (fasttime) The downloaded source packages are in '/tmp/downloaded_packages' [email protected]:~$ 

    Как вы можете видеть, пакет имеет нулевые внешние зависимости, один исходный файл и строит без малейшей заминки. Мы также можем видеть, что время выполнения теперь находится на CRAN, что было не так, когда был написан ответ. При этом на этой странице существуют существующие двоичные файлы Windows и OS X, и установка будет такой же простой, как и для меня, даже если вы не устанавливаете ее из источника.

    Давайте будем гением компьютера.