3講:R言語で平均、ヒストグラム、散布図を出力するには?

 しまうまのRでデータ分析入門【全6講】では、統計解析用のプログラミング言語Rで重回帰分析を行い、R MarkdownでPDF化するまでを解説します。

 この記事では、最も基本となる統計分析を行います。具体的には

  • 1つの変数について、平均、分散、最大値などを計算する
  • 1つの変数の分布を、ヒストグラムで表す
  • 2つの変数の関係性を、散布図と単回帰直線で表す

をRで行います。

1. パッケージのインストール

 何も考えずに、次のコードを実行してください。(インストールしたことのあるパッケージならやらなくてOKです。)

#wooldridgeのインストール
install.packages("wooldridge")
 
#stargazerのインストール
install.packages("stargazer")
 
#summarytoolsのインストール
install.packages("summarytools")
 
#ggplot2のインストール
install.packages("ggplot2")

2. 使用するデータ

 この記事では、wooldridgeにあるデータセットsavingを用います。データセットの確認は次のコードで出来ます。

#データセットのパッケージwooldridgeを呼び出す
library(wooldridge)
 
#データセットの詳細を確認
?saving

3. データの要約(記述統計)

(1)Rで記述統計

 平均、標準偏差、中央値、最大値、最小値などの把握は、次のコードで出来ます。

#記述統計の整理に便利なsummarytoolsを呼び出し
library(summarytools)
 
#savingの記述統計を確認
descr(saving)

(2)記述統計の表を出力

 上で出力された記述統計は、デザインが読みづらく、情報過多です。そこで、一部の統計量について綺麗に表をまとめます。

 サンプルサイズ、平均、標準偏差、最小値、最大値について、次のコードで一覧表に出来ます。

#表の出力に便利なパッケージstargazerを呼び出す
library(stargazer)
 
#記述統計表を出力する
stargazer(saving, out="stat-saving.html", title="Table1")
#saving...データセット名
#stat-saving.html...出力するファイル名(任意)
#Table1...表のタイトル(任意)

 そして、いま使っている作業ディレクトリ※を見ると、「stat-saving.html」というファイルがあります。これをクリックすると、次のような表が出力されています。

画像1:stargazerで出力される記述統計表

※作業ディレクトリがわからなくなったら

 もし作業しているディレクトリがわからなくなったら、次のコードを実行することで場所がわかります。↓

#ディレクトリの確認
getwd()

 これを実行すると、例えば次が出力されます。これは「デスクトップ(Desktop)」にある「Hello_R」というファイルが作業ディレクトリであることを意味します。↓

> getwd()
[1] "/Users/(ユーザー名)/Desktop/Hello_R"

4. データの視覚化

(1)ヒストグラム(1変数)

 1変数の分布を調べるにはヒストグラムが適切です。例えば、inc(ドル単位の年間所得)のヒストグラムは次で表示できます。

hist(saving$inc)
#saving:使用するデータセット
#inc:データセットsavingにある変数inc

 すると、次のヒストグラムが描けます。年間所得が5000ドル〜10000ドルの間に多くの人がいることがわかります。そして、裾野は右側に伸びていることもわかります。

画像2:ヒストグラム(横軸が所得、縦軸が人数)

 カスタマイズには次のコードを使ってください。↓

par(family= "HiraKakuProN-W3") #日本語バグをとる
 
hist(saving$inc,   #データsavingの所得inc
     breaks = 30, #階級数を30
     xlab="データ「saving」の所得inc",  #横軸の名前
     ylab="度数",  #縦軸の名前
     main="所得のヒストグラム",  #図表の名前
     xlim=c(0,35000),  #横軸の範囲を0〜35000
     ylim=c(0,15) #縦軸の範囲を0〜15
     )

(2)散布図

 2変数の関係性を見るには、散布図が適切です。例えば、inc(ドル単位の年間所得)とeduc(教育年数)の散布図は次で表示できます。

plot(saving$educ, saving$inc)

#saving:使用するデータセット
#educ:教育経験年数
#inc:所得

 教育年数が高くなると、所得も増えているように思えます。

画像3:散布図(縦軸が所得、横軸が年齢)

 カスタマイズには次のコードを使ってください。↓

par(family= "HiraKakuProN-W3")
plot(saving$educ, saving$inc,#データsavingの所得inc
     xlab="教育経験年数",  #横軸の名前
     ylab="所得",  #縦軸の名前
     main="教育と所得の関係"  #図表の名前
     )

5. さいごに

 統計分析の結果だけではなく、バラツキや関係性を把握するためにヒストグラムや散布図を眺めるのも重要です。

 次回は「4講:Rで重回帰分析をする

コメント欄 お気軽にコメントをお寄せください!

タイトルとURLをコピーしました