首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >替代sqlite或更好地处理sqlite中的日期/时间字段

替代sqlite或更好地处理sqlite中的日期/时间字段
EN

Stack Overflow用户
提问于 2012-05-04 18:56:55
回答 2查看 1.3K关注 0票数 5

我的数据往往是中到大,但从来没有资格作为“大”数据。数据几乎总是复杂的关系。为了我在这里讨论的目的,10-50个表的总大小为1-10 GB。没别的了。当我处理比这更大的数据时,我将把它放入Postgres或Server中。

总的来说,我喜欢SQLite,但是我处理的数据有很多日期/日期时间字段,在SQLite中处理日期字段会让我头疼,当我在R和SQLite之间来回移动数据时,我的约会经常会受到破坏。

我要么正在寻找一种基于文件的替代SQLite,这是很容易使用的R。

更好的技术/包,用于在不破坏日期的情况下将数据运入/移出SQLite和R。我的目标是停止破坏我的约会。例如,当我从dbWriteTable包中使用RSQLite时,我的日期通常会变得混乱,使它们无法使用。

我的主要工作站正在运行Ubuntu,但我在一个由Windows主导的办公室工作。如果建议使用SQLite的替代方案,则可以选择在两种平台(或更多平台)上工作的替代方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-14 16:24:39

使用划时代的时间和日期(从原点开始的天数,距离原点的秒)。使用epochs到R、POSIXct或Date的转换非常快(字符串非常慢)。

编辑:另一种选择,在重新阅读并考虑数据的大小之后:

您可以简单地以R格式直接保存表,也许可以使用一小块额外的元数据来描述表之间的关键关系。您必须创建您自己的约定和所有,但它绝对是平滑的(没有阻抗错配)。

而且,我个人非常喜欢这个包data.table。它速度快,语法纯R,但与SQL概念有很好的映射。例如,在dt[i, j, by=list(...)]中,i对应于"where",j对应于"select",而by对应于"group by“,而且还有连接的工具,尽管我在它们周围编写了内固定包装,因此更容易记住。

我通常只在R中完成数据处理工作(在从SQLITE中进行了一次初始拉扯之后),我发现data.table比大规模的SQLDF查询更快、更实用。

http://datatable.r-forge.r-project.org/

票数 2
EN

Stack Overflow用户

发布于 2014-05-23 22:00:37

sqlite想要以标准格式读取数据“YYYY DD HH:MM:SS”(如果不需要的话,可以省略时间部分)--我不知道读取任意日期字符串的方法。这将导致存储规范化日期。

在输出时,您希望使用sqlite函数将日期格式化为其他软件所需的任何内容--检查strftime()的选项。

例如,Octave喜欢从0开始的天数,所以如果我有一个列为"date“的表mydata,我会这样做。

从mydata中选择julianday(mydate)-1721059.666667

神奇的数字是julianday("0000-01-01T00:00:00-04:00"),并补偿了这样的事实,即朱连代开始于公元前4017年或诸如此类的事情,而十进制则从0开始计算。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10454602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档