Ready to get started?

Learn more about the CData ODBC Driver for PostgreSQL or download a free trial:

Download Now

PostgreSQL Data をR で分析

データビジュアライゼーション、ハイパフォーマンスな統計関数を使ってPostgreSQL data をMicrosoft R Open で分析。



Pure R スクリプトおよび 標準SQL を使ってPostgreSQL data にアクセス。CData ODBC Driver for PostgreSQL とRODBC package を使って、R でリモートPostgreSQL data を利用できます。CData Driver を使うことで、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってPostgreSQL data にSQL クエリを実行する方法、およびR でPostgreSQL data をビジュアライズする方法について説明します。

R をインストール

マルチスレッドのMicrosoft R Open を実行すること、またはBLAS/LAPACK ライブラリにリンクされたオープンR を実行することによって、マルチスレッドおよびマネージドコードからドライバーのパフォーマンスにマッチできます。ここでは、Microsoft R Open 3.2.3 を使用します。CRAN レポジトリのJan. 1, 2016 snapshot からパッケージをインストールするために事前設定されています。このsnapshot は再現性を保証します。

PostgreSQL ODBC Data Source としてPostgreSQL に接続

接続プロパティの指定がまだの場合は、まずODBC DSN (データソース名)で接続設定を行います。これはドライバーのインストール時に自動的に立ち上がります。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。

To connect to PostgreSQL, set the Server, Port (the default port is 5432), and Database connection properties and set the User and Password you wish to use to authenticate to the server. If the Database property is not specified, the data provider connects to the user's default database.

RODBC パッケージをロード

ドライバーを使うにはRODBC パッケージをダウンロードします。RStudio で[Tools]>[Install Packages]をクリックし、RODBC を[Packages]ボックスに入力します。

RODBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。

library(RODBC)

ODBC データソースとしてPostgreSQL Data に接続

次のコードを使ってR のDSN に接続できます:

conn <- odbcConnect("CData PostgreSQL Source")

スキーマ ディスカバリー

ドライバーはPostgreSQL API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデル化します。次のコードを使ってテーブルリストを検出します。

sqlTables(conn)

SQL クエリの実行

sqlQuery 関数を使ってPostgreSQL API がサポートするすべてのSQL クエリを実行します。

orders <- sqlQuery(conn, "SELECT ShipName, ShipCity FROM Orders", believeNRows=FALSE, rows_at_time=1)

次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。

View(orders)

PostgreSQL Data をプロット

これで、CRAN レポジトリで利用可能なあらゆるデータビジュアライゼーションパッケージを使ってPostgreSQL data を分析できます。ビルトインのbar plot 関数を使って簡単なバーを作成できます:

par(las=2,ps=10,mar=c(5,15,4,2)) barplot(orders$ShipCity, main="PostgreSQL Orders", names.arg = orders$ShipName, horiz=TRUE)
 
 
ダウンロード