27
R ののののののの 2013.10.13 TOKYO.R JOSHIBU #2

Tokyo.r 女子資料

Embed Size (px)

Citation preview

Page 1: Tokyo.r 女子資料

R の基礎いろいろ

2013.10.13

TOKYO.R JOSHIBU #2

Page 2: Tokyo.r 女子資料

R とわたし• はじめて R に触れたのは、大学のときの授業。

• 仕事で R 使用中。主にデータ処理やグラフ作成など。

• R を使ってモデリングとかシュミレーションしたい。  (今後仕事で必要になるので…)

• 現在、ちょっとずつ統計を勉強中。

Page 3: Tokyo.r 女子資料

今日やること前置きが長くなってすいません…

(本当は) CodeIQ に出題されてたR の問題をやる予定でした…。。URL: https://codeiq.jp/

ただ、〆切が結構先なので別の内容にしました。

Page 4: Tokyo.r 女子資料

iris データを使ってプロットする

Page 5: Tokyo.r 女子資料

iris データとは…• R には100以上のデータセットが付属。

• iris データは、3品種のあやめのがく片や花びらの長さや幅などのデータから成り立っている。

• Fisher の研究でも使われたデータ。

• R のデータセットについて詳しく説明されているサイト様。   http://d.hatena.ne.jp/hoxo_m/20120214/p1

Page 6: Tokyo.r 女子資料

iris データをみる

• コマンド実行するとデータが一気に表示されるはず。

• このデータの内容、もうちょっと簡単にみたいんだけど?

• そんなときは、 str() を使う。

$ iris

Page 7: Tokyo.r 女子資料

str() でデータの内容をみる

$ str ( iris )

> str(iris)'data.frame': 150 obs. of 5 variables: $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

データ構造

• もうちょっと詳しくみたい、そんなときは summary() !

行数、列数

データの特徴

Page 8: Tokyo.r 女子資料

summary() で特徴(要約等計量)をみる

$ summary ( iris )

> summary(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300 Median :5.800 Median :3.000 Median :4.350 Median :1.300 Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800 Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500 Species setosa :50 versicolor:50 virginica :50

Min.: 最小値1st Qu.: 第一四分位数Median: 中央値Mean: 平均値3rd Qu.: 第三四分位数Max.: 最大値

これは Factor 型なので品種ごとの行数が表示

Page 9: Tokyo.r 女子資料

データにアクセス

• 部分データを取得したい場合には、 c 関数を使う

$ iris[1:30, 1:2]

行アクセス 列アクセス

$ iris$Sepal.Length

データフレーム$変数名

Page 10: Tokyo.r 女子資料

変数名を取得する

$ colnames(iris)

$ rownames(iris)

行名取得

列名取得

Page 11: Tokyo.r 女子資料

とりあえず、 plot()

$ plot(iris[,1], iris[,2])

Page 12: Tokyo.r 女子資料

X軸 , Y軸のラベルを変更

$ plot(iris[,1], iris[,2], xlab=“Sepal.Length”,

ylab=“Sepal.Width”)

Page 13: Tokyo.r 女子資料

色をつける

$ plot(iris[,1], iris[,2], xlab=“Sepal.Length”,

ylab=“Sepal.Width”, col=“blue”)

Page 14: Tokyo.r 女子資料

軸の長さを指定する

$ plot(iris[,1], iris[,2], xlab=“Sepal.Length”,

ylab=“Sepal.Width”, col=“blue”, xlim=c(0,8), ylim=c(0,8))

Page 15: Tokyo.r 女子資料

プロットマーカー変更$ plot(iris[,1], iris[,2], xlab=“Sepal.Length”, ylab=“Sepal.Width”,

col=“blue”, xlim=c(0,8), ylim=c(0,8), pch=20)

Page 16: Tokyo.r 女子資料

プロットマーカー一覧

• pch =値 で点をプロットする文字を指定できる

Page 17: Tokyo.r 女子資料

品種ごとにマーカーの色を変更

$ plot(iris$Sepal.Length, iris$Sepal.Width,

xlab="Sepal.Length", ylab="Sepal.Width",

col=c(1:length(unique(iris$Species))), ylim=c(2,6),

pch=20)3でもいい

Page 18: Tokyo.r 女子資料

品種ごとにマーカーの色を変更

Page 19: Tokyo.r 女子資料

凡例を追加する

$ plot(iris$Sepal.Length, iris$Sepal.Width,

xlab="Sepal.Length", ylab="Sepal.Width",

col=c(1:length(unique(iris$Species))), ylim=c(2,6),

pch=20)

$ legend("topright", legend=unique(iris$Species),

col=c(1:length(unique(iris$Species))),pch=20)

Page 20: Tokyo.r 女子資料

凡例を追加する

Page 21: Tokyo.r 女子資料

グラフに文字を書き込む• そのまえに、 Sepal.Length と Sepal.Width の相関係数を求

める (書き込むデータを用意するため)

• text() を使って求めた相関係数をグラフに書き込む

$ r <- cor(iris$Sepal.Length, iris$Sepal.Width)

$ r

[1] -0.1175698

Page 22: Tokyo.r 女子資料

グラフに文字を書き込む

$ plot(iris$Sepal.Length, iris$Sepal.Width,

xlab="Sepal.Length", ylab="Sepal.Width", col=“blue”,

ylim=c(2,6), pch=20)

$ text(7, 5, label=r, srt=0, cex=0.8)

Page 23: Tokyo.r 女子資料

グラフに文字を書き込む

Page 24: Tokyo.r 女子資料

plot() ではものたりない場合… • ggplot()

• パッケージをインストールする必要がある  $ install.packages(ggplot2)

$ library(ggplot2)

• 書き方になれないとかなり使いにくい…

Page 25: Tokyo.r 女子資料

ggplot() で描写してみるとこんな感じ$ ggplot(iris[,1:2], aes(Sepal.Length, Sepal.Width))

+geom_point()

• こんなかんじで描写

• 場合によっては、 ggplot()使ったほうが楽に描写できるものもある

  (例:積み上げグラフとか)

Page 26: Tokyo.r 女子資料

わからないときは…• R−tips

http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html

• RjpWiki

http://www.okada.jp.org/Rwiki/

• seekR

http://seekr.jp/

• ひたすらググる、もしくは人に聞く

Page 27: Tokyo.r 女子資料

ご清聴ありがとうございました

至らない点が多々あったと思いますが、最後までお付き合いしていただきありがとうございました。

今後もどうぞよろしくお願いします。

E-mail: mf.0833 <at> gmail.com