【问题标题】:Is there a table comparing SQL commands with R commands? [closed]有没有比较 SQL 命令和 R 命令的表? [关闭]
【发布时间】:2011-03-11 10:18:16
【问题描述】:

或者列出如何在 R 中执行您在 SQL 中执行的操作(反之亦然)?

谢谢,

塔尔

【问题讨论】:

  • 像什么?你想做什么操作?
  • 嗨 Nico,我指的是所有操作。我想看看是否有类似 R 的东西供 SQL 用户使用(就像有书 R 供 SAS 用户使用)——所以当我在 SQL/

标签: sql r comparison


【解决方案1】:

sqldfpackage 或许在这里能有所帮助?

还有一个来自 Joshua 的 talk 伴随着 Shane 提到的演示文稿。

【讨论】:

  • 谢谢 Radek - 这个包实际上给了我这个问题的想法。有趣的是没有人做出这样的事情。也许这应该是某种 R 社区项目(也就是说 - 执行一堆 SQL 任务,我们所有人都将编译所有在 R 中执行它们的方法 - 可能是这样的:rosettacode.org/wiki/Category:Database_operations)。
  • 对我来说这将是一件幸福的事,因为我觉得使用 SQL 管理数据要舒服得多 [到目前为止]。感谢罗塞塔链接 - 很有趣。
【解决方案2】:

您可以查看 Joshua Reich 的 presentation on R and SQL(参见第 11 页)。

【讨论】:

  • 感谢 Shane - 正是我想要的。我应该猜这是我能找到的最大的桌子吗?
  • 我不确定...这是我所知道的唯一一个。
【解决方案3】:

sqldf 包中帮助(sqldf) 页面底部的示例部分包含相当多的 SQL 命令及其 R 对应项。

【讨论】:

    【解决方案4】:

    RMysQL 包也值得研究。

    我使用在导入 R 之前无法转储为文本的非常大的数据集。这个包允许我使用 R 中的标准 mysql 查询来提取我的数据子集。

    【讨论】:

    • 谢谢。大约两年前我玩过它。我记得连接时间很长。今天这仍然是一个问题吗?
    • 与其他语言的原生查询或包装器相比,我发现 RMySQL 操作非常慢。
    • 我发现它相当快。虽然我必须强调,这不是你应该重复做的事情。最好有一个工作流 (stackoverflow.com/questions/1429907/…),这样查询只会发生一次并写入 .rdata 文件。在随后的运行中,您读取 .rdata 文件而不是重复运行查询。当您的数据库发生更改时,您需要重新运行步骤一和二。
    • 我没用过RMySQL,但是RODBC和RJDBC没发现速度问题。所以如果 RMySQL 很慢,也许你可以试试这些。
    【解决方案5】:

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

    我认为 R 是一个具有一些很好的合并功能的统计包,但它并不意味着以这种方式处理关系数据。我确实使用微数据进行了很多工作,并且必须从这些微数据中设置非关系数据集(然后使用 R 进行回归分析并绘制 ggplot2(!))。在连接到 R 之前,我还在 SQL 本身中进行数据聚合。

    我还建议使用视图(如果它们对您来说足够快的话)。 R 使用 list tables 语句像普通表一样访问它们。

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

    无论如何,即使您使用 RMySQL,也有一些关于 RPostgreSQL 的文献可能对您有所帮助,特别是如果您打算将它用于时间序列数据(例如 TSPostgreSQL)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 2020-03-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-28
      相关资源
      最近更新 更多