1. 楽にデータ操作ができる
- Rはデータ分析のためのプログラミング言語で、データを扱うためのパッケージが豊富に揃っています。
- Excelでは扱えないかなり大きなデータでも簡単にデータ操作ができます。
- 分析のプロセスをソースコードに残すことができるので、再現可能性が高いです。
練習用データiris
データ分析の練習用データとして有名なiris
データをいろいろ操作してみましょう。 iris
は「あやめ」という花の花びらとがく片の長さと幅、あやめの分類名の合計5項目が150件収録されているデータベースです。head()
関数を使ってiris
の先頭の6行を読み込んでみます。
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
平均を計算する。
Sepal.Length
、Sepal.Width
、Petal.Length
、Petal.Width
、Species
という5つの項目が入っていることが分かります。Sepalは花びらで、Petalはがく片です。まず花びらの長さSepal.Length
の平均を求めてみましょう。平均を返す関数はmean()
です。
あやめの花びらの長さの平均は、5.8433333であることが分かりました。簡単ですね。
次に,あやめの花びらの長さの標準偏差を求めてみましょう。 標準偏差を返す関数はsd()
です。 下のボックスの緑の三角ボタンを押すと,Rコードが実行され,下に結果が表示されます。 sd()
で標準偏差,max()
で最大値,min()
で最小値,median()
で中央値を求めることができるので,sd
のところを書き換えて実行し,結果を確認してみてください。
次に、あやめの種類を表すSpecies
にはどんな種類があるのか見てみましょう。 Species
に入っている種類を確認するには、table()
関数を使ってみます。
あやめの種類には、setosa、versicolor, virginicaがあり、それぞれ50個のデータがあることが分かります。
次に、このiris
を使って、グラフを作ってみます。
2. キレイなグラフが書ける。
次にRが得意とするグラフ作成を行います。 最初に、花びらの長さのヒストグラムを書いてみます。 さくっとヒストグラムを作るには,基本関数のhist()
を使います。 iris
データのSepal.Length
を使ってヒストグラムを作成してみましょう。
もっとキレイなグラフを書く。
非常に簡単かつ分かりやすく美しいグラフを作成できるggplot2
パッケージを使ってグラフを作成します。library(ggplot2)
を実行して、ggplot2
パッケージを読み込みます。
# install.packages("ggplot2") # 1回だけ実行
library(ggplot2)
次に、ggplot2
を使って、花びらの長さのヒストグラムを書いてみます。
g <- ggplot(iris) + aes(Sepal.Length) #データと変数を指定
g <- g + geom_histogram() # ヒストグラム
print(g) # グラフを表示
グラフをカスタマイズする。
ヒストグラムの階級幅を変更したり、棒の数を変更するには、geom_histogram()
の中で指定します。 例えば、階級幅を0.5でヒストグラムを作る場合は、binwidth = 0.5
のように指定します。
g <- ggplot(iris) + aes(Sepal.Length) +
geom_histogram(binwidth = 0.5)
print(g)
グラフのデザインを変更する。
グラフが黒くて見づらいので、デザインをいじってみます。 geom_histogram()
関数の中で、線を黒、中を薄青色に指定します。
g <- ggplot(iris) + aes(Sepal.Length) +
geom_histogram(color="black", fill="lightblue",binwidth = .5)
print(g)
グラフのテーマを変える。
背景が地味なので、グラフを雑誌Economist風にしてみます。
g + theme_economist_white() + scale_colour_economist()
2変数の散布図を書く。
次は花びらの長さと幅の散布図を書いてみます。 ggplot2
で散布図を書くためには、aes()
でx軸とy軸を指定し、geom_point()
で散布図を指定する。
ggplot(iris) + aes(x = Sepal.Length, y = Sepal.Width) +
geom_point() + theme_economist()
色分けも簡単
カテゴリーを表す変数をgroup
とcolour
で指定すると、カテゴリーごとにグループ化して色分けもしてくれます。ここでは花の種類を表す変数であるSpecies
ごとに色分けしてみます。
g <- ggplot(iris) + # データセットirisを指定
aes(x = Sepal.Length, # x軸 花びらの幅
y = Sepal.Width, # y軸 花びらの幅
color = Species # あやめの種類ごとに色分け
) +
geom_point() + # 散布図を指定
theme_economist() # テーマをEconomistに
print(g)
インタラクティブなグラフも簡単
操作できるグラフも作れます。 plotly
パッケージを使えば簡単です。
library(plotly)
ggplotly(g)
3. レポート・論文が作れる。
- データを分析した結果を表や図としてレポートや論文に載せる場合、MS Excelで作成した図や表を、MS Wordにコピペしてませんか?
- その場合、Wordで書いてたレポートの図表に少し修正を加えることになると、またExcelを開いて修正し、またコピペしたりしてませんか?
- レポートを2週間後に読んだとして、その図表を作成したExcelがどこにあるのか、またどうやって作ったのか思い出せますか?
RとQuartoなら心配いりません。
Quartoで資料作成
- QuartoやRmarkdownを使ってMarkdownでレポートを書けば、文章作成と図表を同じ場所で作成できます。
- このスライド資料もQuartoを使って作成し、GitHubで公開してます。