統計ソフトRとggplot2の使い方を忘れないようにメモしておく
最近流行りのデータサイエンティスト的な方々と仕事をする必要が出てきたので、紳士のたしなみとしてRくらいは使えないといかんだろう、と思い簡単に勉強中。
自由すぎて最初はとっつきづらいが、実際にデータを入れてグラフとか描き始めると途端に面白くなる。
Rの詳しい使い方のサイトは多くが英語なんだけど、日本にもいくつか解説してくれるサイトがあったのでそちらを見ながら勉強してみた。
というわけで、そんな素敵な解説サイトと自分が練習用に書いていた基本的なスクリプトを赤裸々に紹介。
R作業用のスクリプト集
Rの基本的な動作
#データファイルを読み込み
data=read.table("demodata.txt", header=TRUE, sep="\t")
#data内のht列を表示
data$ht
#data内のsex列のそれぞれの項目の個数を表示
table(data$sex)
#計算した値をbmiに投入
bmi=(data$wt*10000)/(data$ht*data$ht)
#dataのsex列のデータ型を判定
class(data$sex)
#dataのht列の2番目と4番目の値を表示
data$ht[c(2,4)]
#dataのht列の値が150より大きい値をTorFで判定
data$ht>150
統計的な処理
#dataの平均値、中央値、最大値、最小値などを表示
summary(data)
#dataの金額と資料請求の相関係数を算出
cor(data$金額, data$資料請求)
#dataのCTを説明変数、資料請求を目的変数とした線形回帰モデルを求める
lm(data$CT~data$資料請求)
#上記回帰モデルの概要を表示
summary(lm(data$CT~data$資料請求))
#上記回帰モデルの残差をグラフに描画
plot(lm(data$CT~data$資料請求), which=1)
ggplotでの基本的なグラフ描画
#図形描画ライブラリggplot2を読み込み
library(ggplot2)
#dataのsexで項目分けしたhtに関する箱ひげ図を描画
ggplot(data, aes(x=sex, y=ht, fill=sex)) + geom_boxplot() + theme_bw(16)
#dataのCTをX軸、資料請求をY軸とした散布図と近似曲線を描画
ggplot(data, aes(x=CT, y=資料請求)) + geom_point() + theme_bw(16) + geom_smooth(method="lm")
ggplotでの簡単なグラフ描画
#diamondsをデータ元としてcaratをX軸、priceをY軸として、clarityで色分けした散布図を描画
qplot(carat, price, data = diamonds, colour = clarity)
#折れ線グラフを描画
qplot(date, unemploy, data = economics, geom = "line")
#棒グラフを描画
qplot(color, data = diamonds, geom = "bar")
#ヒストグラムを描画
qplot(price, data = diamonds, geom = "histogram")
#密度曲線を描画
qplot(price, data = diamonds, geom = "density")
#箱ひげ図を描画
qplot(cut, carat, data = diamonds, geom = "boxplot")
#cutで項目分けした別々の散布図を一度に描画
qplot(carat, price, data = diamonds, color = cut, facets = ~ cut)
R及びggplot2について調べるときに見たサイトたち
統計ソフトRの使い方
ggplot2 の自分用メモ集を作ろう - Triad sou.
ggplot2でグラフ書きはじめた話 - @soh335 memo
ggplot2のqplot関数のまとめ - ぬいぐるみライフ(仮)
↓読んでみたい。。。
- 作者: H.ウィッカム,石田基広,石田和枝
- 出版社/メーカー: シュプリンガー・ジャパン株式会社
- 発売日: 2011/07/18
- メディア: 単行本
- 購入: 7人 クリック: 265回
- この商品を含むブログ (6件) を見る