新米教員KMの備忘録(Vol.01)

中高で英語科教員をやっております

Rの練習③散布図、相関係数、散布図マトリックス

こんばんは、KMです。

 

今回も引き続き、村井潤一郎編(2013)『はじめてのR: ごく初歩の操作から統計解析の導入まで』北大路書房を読み進めて勉強しました。

 

過去ログは以下から。

 

km-for-research.hatenablog.jp

  

km-for-research.hatenablog.jp

 

4-3-2 散布図

 

使用したデータセットはこれまでと同じです。

実は以前Rをやろうと勉強した時期が一瞬あって、そのときちょこっとやったので復讐に近い感じでした。

 

基本的にはplot()関数を用いて作図する感じでした。

 

4-5-2 相関係数

 

散布図以降を割愛し、相関係数についてまとめます。

今回は、テレビの視聴時間(テレビ)と10点満点の社交性の自己評価(社交性)という、2変数間の相関係数を求めました。

 

#データ読み込み
例題<-read.csv("sample.csv")

 

#相関係数
cor(例題$テレビ,例題$社交性)

 

また、3つ以上の変数の相関係数を一括してマトリックスで出力する方法として、データフレームを用いる方法もありました。

 

番外編-散布図マトリックス

 

3つ以上の変数について、散布図マトリックスをつくれたらかっこいいなと思って、plot()関数に4変数を入れてみました。

 

> plot(例題$テレビ,例題$社交性,例題$事前,例題$事後)
Error in plot.window(...) : 'xlim' の値が不正です

 

どうやらplot()関数は、2変数しか扱えない関数のようでした。

なのでいろいろ調べ、以下のコードにたどり着きました。

 

#以下のようにすればOK
plot(例題[,c(5,6,7,8)])
plot(data.frame(例題$テレビ,例題$社交性,例題$事前,例題$事後))

 

出力はうまくいきましたが、すべての変数名の 最初に「例題」って書いてあるのがダサいのが気になります。

そこで各変数の名前の「格納庫」を用意し、そこにそれぞれの値を入れてあげればいいのでは?という仮説がひらめきました。

 

#以下の方法の方が変数名の出力がきれい
テレビ<-例題$テレビ
社交性<-例題$社交性
事前<-例題$事前
事後<-例題$事後
plot(例題[,c(5,6,7,8)])
plot(data.frame(テレビ,社交性,事前,事後))

 

これで出力されたのが以下の散布図マトリックスです。

 

f:id:km_for_research:20180130233059p:plain

 

形から入る人間にとって、見た目の良いグラフが書けるようになるのは最高のモチベーションになりますね。

今日はここまで。