gpt4 book ai didi

r - 在 R 中*快速*将字符转换为日期

转载 作者:行者123 更新时间:2023-12-02 08:11:24 29 4
gpt4 key购买 nike

Possible Duplicate:
Why is as.Date slow on a character vector?

我有一个大data.frame (大约 6000 万个观察值)我使用 RMySQL 从数据库中读取。日期作为字符引入(似乎没有办法改变它),所以我使用 as.Date将事物转换为最新的。然而,这需要非常长的时间和如此多的观察。有什么办法可以让它更快吗?

最佳答案

西蒙·厄本内克的fasttime对于可解析日期时间的子集,库非常快:

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 年后编辑: 一些评论者似乎认为 fasttime 软件包很难安装。我不敢苟同。这里(再次)使用 install.r,它只是一个使用 littler 的简单包装器。 (并且还作为示例提供):

edd@max:~$ 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’
edd@max:~$

正如您所看到的,该包具有零外部依赖项、一个源文件,并且可以顺利构建。我们还可以看到fasttime现在在 CRAN 上,但写答案时情况并非如此。这样,Windows 和 OS X 二进制文件现在确实存在于该页面,并且即使您不从源代码安装,安装也将像我一样简单

关于r - 在 R 中*快速*将字符转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12898318/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com