2010-07-03 80 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)。