4

我正在尝试将表从 Microsoft Access (.accdb) 导入到 R。

我使用的代码是:

library(RODBC)

testdb <- file.path("modelEAU Database V.2.accdb")

channel <- odbcConnectAccess2007(testdb)

WQ_data <- sqlFetch(channel, "WaterQuality")

似乎它可以工作,但问题是导入日期和时间数据。在 Access 文件中有两列,一列带有日期字段 (dd/mm/yyyy),另一列带有时间字段 (hh:mm:ss),当我将它们导入 R 时,在日期列中显示日期为 yyyy- mm-dd 格式并进入时间列,格式为 1899-12-30 hh:mm:ss。此外,R 无法将这些格式识别为变量,我无法使用它们。

另外,我尝试了 mdb.get 功能,但效果不佳。

有人知道如何从定义日期和时间格式的 Access 导入 R 中的数据吗?知道如何将 Access 文件作为文本文件导入吗?

注意:我正在使用 Office 2010 和 R 版本 2.14.1

非常感谢先进。

4

1 回答 1

1

查看在str数据框上运行的结果。这将告诉您更多有关数据实际存储方式的信息。通常,日期和时间存储为起始日期的数字(Access 使用 1899 年 12 月 30 日,因为 MS 认为 1900 年是闰年)。有时它存储为自起源以来的天数,时间表示为一天的一小部分,有时它是自起源以来的秒数(或毫秒)。

您将需要查看数据是如何发送的(无论是 access 和 odbc 先转换为字符串,还是发送几天或几秒),然后您将对如何在 R 中使用这些(可能是转换)有更好的感觉。

2004 年 6 月版的R News (R Journal 的前身)中有一篇文章详细介绍了在 R 中处理日期和时间的常用方法,可能对您非常有用。

你应该决定你想要结束什么,一列 DateTimes,两列数字,两列字符,等等。

于 2012-09-13T16:09:04.400 回答