MySQLからRへのデータ取得(2)

Posted on 2014/01/11

ToC

国名と経緯度の代表点データを準備

今回は、実際にMySQLからRへのデータを取得して、表とプロットしてみることにします。 利用したデータは、socrataのサイトで公開されている 国名と代表点の経緯度のオープンデータを利用してみました。 まず、事前にMySQLのテーブルとしてデータを登録してあるところからはじめることにします。

/method/data-analysis/img/RStudio01_hu99ca1685262594be6ba75af5d89c2b7b_67550_600x0_resize_lanczos_3.png

R Studioでプロット

はじめに作業の処理の流れを整理します。 Rでも当然ながら、一般的なアプリケーションと全く同じ流れです。

  1. MySQLのドライバをロードする
  2. MySQLのデータベースに接続する
  3. MySQLのテーブルより、RのData.frameとしてデータを取得する
  4. Data.frameとして展開された表データをプロットする
  5. DBとの接続を解除する

早速、R Studioを起動します。 コンソールにコマンドを入力していきます。

# DBへの接続 
md <- dbDriver('MySQL') dbconnector <- dbConnect(md, host='ホスト名', dbname='データベース名', user='ユーザー名', password='パスワード') 

# データの取得 
geo.table <- dbGetQuery(dbconnector, 'select * from テーブル名') 

# データの表示 
View(geo.table) 

# データのプロット 
plot(geo.table$Longitude,geo.table$Latitude) 

# DBの切断 
dbDisconnect(dbconnector)
/method/data-analysis/img/RStudio02_hufa36c9d06355a16efe6a04060f8a525c_262167_600x0_resize_lanczos_3.png

これだけのコマンドでデータのプロットまでできてしまいます。 考えていたよりも相当簡単です。

プロットされた○印の数と世界の国の数が位置関係を含めて同じになっているはずなので、世界地図が浮かび上がってくるはずなのですが・・・。 なんとなく、言われてみるとヨーロッパとカリブ海にたくさんの国が密集しているようです。