我的数据往往是中等到大,但从来没有资格成为“大”数据.数据几乎总是复杂的关系.出于我在这里谈论的目的,10-50个表,总大小为1-10 GB.而已.当我处理大于此的数据时,我会将其粘贴到Postgres或SQL Server中.
总的来说,我喜欢SQLite,但是我使用的数据有很多很多日期/日期时间字段,在SQLite中处理日期字段让我很头疼,当我在R和SQLite之间来回移动数据时,我的日期常常被破坏.
我正在寻找一种基于文件的SQLite替代方法,它易于使用R.
要么
更好的技术/包,用于将数据移入/移出SQLite和R而不会破坏日期.我的目标是停止破坏我的约会.例如,当我使用RSQLite包中的dbWriteTable时,我的日期通常会以一种无法使用的方式搞砸.
我的主工作站正在运行Ubuntu,但我在一个由Windows主导的办公室工作.如果建议替代SQLite,可以在两个平台(或更多)上运行.
最佳答案 使用纪元时间和日期(原点的天数,原点的秒数).使用epochs到R POSIXct或Date的转换很快(字符串非常慢).
编辑:在重新阅读并考虑数据大小后的另一种选择:
您可以直接以R格式保存表,也许只需要一小段额外的元数据来描述表之间的关键关系.你必须创建自己的约定和所有,但它肯定更平滑(没有阻抗不匹配).
另外,我个人非常偏爱包data.table.它速度快,并且具有纯R的语法,但具有很好的SQL概念映射.例如.在dt [i,j,by = list(…)]中,i对应于“where”,j对应于“select”,并且通过“group by”并且还有连接设施,尽管我写了在这些周围包装包装,以便更容易记住.
我通常只在R中完成数据处理工作(在从SQLITE初始拉取之后),我发现data.table比大规模SQLDF查询更快更实用.