(1) データの用意
まずプロジェクトを作成しておきます。
今回データベースからのデータを使うので、DBIとRMySQLライブラリを入れておきます。
library("DBI", lib.loc="/usr/lib64/R/library") library("RMySQL", lib.loc="/usr/lib64/R/library")
データベースからデータを取るスクリプトを作っておきます。
[MySQL.R]
> source('MySQL.R') > mysql.connect() > mysql.getSelect()
スクリプトを作る時に、"<<"はグローバル変数に代入します。
(2) 基本解析
(i) summary
summary関数を使って、その結果をcsvに保存します。
> summary(mysql.data)
> write.csv(summary(mysql.data), file="summary.csv")
(ii) boxplot
> boxplot(mysql.data)
(iii) hist
> hist(mysql.data$attack, col = "orange", main = 'Histgram', labels=T, xlab="range") | ||
(iv) 相関係数行列
> install.packages("psych")
> library(psych)
> pairs.panels(mysql.data)
(v) 無向グラフ
これはpackageで”qgraph"を利用するが、CentOSの場合はyumでライブラリを入れておく必要がある。
# yum install libxml2-devel
# yum install libjpeg-devel
# yum install libpng-devel
> install.packages("qgraph") (時間がかかる)
> library(qgraph)
> qgraph(cor(mysql.data),edge.labels=T)
(vi) ヒートマップ
> cor.plot(cor(mysql.data),numbers=T)
(vii) 主座標分析
> plot(cmdscale(dist(cor(mysql.data))),type="n",xlab="", ylab=""); > text(cmdscale(dist(cor(mysql.data))),rownames(cor(mysql.data)))
これらをスクリプトにしたものが次になります。
[Basic.R]
参考
http://kusanagi.hatenablog.jp/entry/2014/07/23/220951
0 件のコメント:
コメントを投稿