2010-07-03 81 views
4

或者你在SQL中做什么R事情的列表(或反之亦然)?有没有比较SQL命令与R命令的表?

感谢,

塔尔

+0

像什么?你想要做什么样的操作? – nico 2010-07-03 13:10:55

+0

嗨尼科,我指的是所有的操作。我正在尝试查看SQL用户是否有像R这样的东西(比如SAS用户的书R) - 因此,当我遇到SQL/SQL错误时,会有一种很好的方式来利用我在R中的知识。 – 2010-07-03 15:02:47

回答

2

你可以看看约书亚帝国的presentation on R and SQL(参见第11页)。

+0

谢谢谢恩 - 正是我在找的东西。我应该猜这是我会发现的最大桌子吗? – 2010-07-03 15:01:23

+0

我不确定...这是我知道的唯一一个。 – Shane 2010-07-03 15:18:17

3

sqldfpackage可能在这里有一些帮助吗?

还有一个来自Joshua的talk陪同Shane在上面提到的介绍。

+0

谢谢Radek - 这个包实际上给了我这个问题的想法。有趣的是,没有人做出这样的事情。也许这应该是某种R社区项目(也就是 - 接受一堆SQL任务,并且我们所有人都会编译所有在R中完成它们的方法 - 例如http://rosettacode.org/维基/类别:Database_operations)。 – 2010-07-03 19:41:30

+0

对我来说,这将是一种幸福,因为我觉得使用SQL管理数据更加舒适[迄今]。感谢rosetta链接 - 有趣。 – radek 2010-07-05 20:04:13

1

这也值得看看RMysQL包。

我使用非常大的数据集,在导入到R之前无法将其转储到文本中。此包允许使用R中的标准mysql查询来获取数据的子集。

+0

谢谢。大约两年前我玩过它。我记得连接时间很长。这仍然是今天的问题吗? – 2010-07-03 21:12:53

+0

与本机查询或其他语言的包装器相比,我发现RMySQL操作非常慢。 – neilfws 2010-07-04 01:54:54

+0

我觉得它合理快速。虽然我必须强调,这不是你应该重复做的事情。有一个工作流程是很好的(http://stackoverflow.com/questions/1429907/workflow-for-statistical-analysis-and-report-writing/1434424#1434424),所以查询只发生一次并写入.rdata文件。在后续运行中,您可以读取.rdata文件,而不是重复运行查询。当你的数据库发生变化时,你重新执行第一步和第二步。 – Maiasaura 2010-07-04 05:33:14

2

sqldf软件包中帮助(sqldf)页面底部的examples部分包含了很多SQL命令和它们的R对应部分。

1

我刚刚开始使用RMySQL,非常喜欢这个软件包。我只是在R本身运行基本的SQL查询。大多数重新安排的数据都是在几个独立的SQL脚本中完成的,基本上是一些存储过程。

我认为R是一个具有良好合并能力的统计软件包,但它并不意味着要以这种方式处理关系数据。我使用微观数据做了很多工作,必须从这些微观数据中建立非关系数据集(然后使用R进行回归分析并绘制ggplot2(!))。在连接到R之前,我也会在SQL本身中进行数据聚合。我还建议使用视图(如果它们对于您来说足够快)。 R使用list tables语句像普通表一样访问它们。

除此之外还有RPostgreSQL,如果你想给postgreSQL一个尝试。我试了一次,但切换到RMySQL,因为RPostgreSQL很难在我的Mac上设置,更新后配置消失了。 RMySQL要容易得多。那时我必须自己编译软件包,所以如果你运行另一个操作系统,你可能会得到一个二进制文件(或者现在有一个Mac OS)。

在任何情况下,有一些关于RPostgreSQL的文献可以帮助您,即使您使用RMySQL,特别是如果您打算将它用于时间序列数据(例如TSPostgreSQL)。