gpt4 book ai didi

r - 将日期从 MySQL 正确导入到 R

转载 作者:行者123 更新时间:2023-12-01 01:51:54 25 4
gpt4 key购买 nike

我的问题几乎相同 as this one .简而言之,我使用 dplyr(连同 RMySQL)导入一个带有日期时间列的 MySQL 表,我想将它转换为 R 中的日期。在上面链接的问题中,没有发布答案,只有 Hadley 的评论. OP 显然根据评论找到了解决方案。我从 Hadley 的评论中了解到,我可以通过将列作为日期正确导入 R 来解决该问题。然后就不需要使用 as.Date。但是,我找不到如何使用 dplyr 和 RMySQL 做到这一点。

我不知道如何发布一个完全可重现的例子,因为它是一个 MySQL 数据库连接,但我会发布我的代码:

如果我尝试:

pedidos <-  my_db %>%
tbl("pedidos") %>%
mutate(test = as.Date(DateSent))

然后我运行:
pedidos

R 返回:
FUNCTION AS.DATE does not exist

就像另一个问题中的 OP 一样,我可以使用 collect() 解决这个问题,但是它违背了不将数据复制到内存中的目的。这是有关 MySQL 中数据类型的一些信息
DateSent 是日期时间

和 R sessionInfo():
R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

locale:
[1] LC_COLLATE=Portuguese_Brazil.1252
[2] LC_CTYPE=Portuguese_Brazil.1252
[3] LC_MONETARY=Portuguese_Brazil.1252
[4] LC_NUMERIC=C
[5] LC_TIME=Portuguese_Brazil.1252

attached base packages:
[1] stats graphics grDevices utils datasets
[6] methods base

other attached packages:
[1] RMySQL_0.10.11 DBI_0.5-1 dplyr_0.5.0
[4] digest_0.6.12

loaded via a namespace (and not attached):
[1] lazyeval_0.2.0 magrittr_1.5 R6_2.2.0
[4] assertthat_0.1 rsconnect_0.5 tools_3.3.1
[7] tibble_1.2 Rcpp_0.12.8

最佳答案

我也处理过 datetime 列问题,但是简短的回答是,用 RMariaDB 替换您当前的 MySQL DBI 驱动程序是解决方案。

正如这个问题下提到的评论,这个问题实际上在RMySQL from 0.11的上游开发中已经解决了。 ,但唯一的问题是官方 CRAN 存储库中不提供此版本。换句话说,如果您不介意通过 devtools 手动安装软件包,那么从 RMySQL 0.11 源代码安装正是这个问题的答案。

但正如自述文件中官方所述,RMariaDB包将作为 RMySQL 驱动程序的替代品。当然,Datetime Support 的功能也包含在主流的RMariaDB 包中。更重要的是,最新版本的 1.0.6 版本可从 CRAN 官方存储库中获得。

关于r - 将日期从 MySQL 正确导入到 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43762009/

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