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

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

Rの練習②続・ヒストグラムでデータを可視化してみる

こんばんは、KMです。

 

以前、Rの投稿をしてから1か月以上経ってしまいました。

 

km-for-research.hatenablog.jp

 

 

前回参考にした、村井潤一郎編(2013)『はじめてのR: ごく初歩の操作から統計解析の導入まで』北大路書房を購入したので、この続きをやっていきたいと思います。

 

4-3-1 ヒストグラム

 

使用したデータセットは前回と同じです。

今回は進んで女性(f)と男性(m)、つまり性別ごとにグラフを作成しました。

 

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

#画面を2x2に分割
par(mfrow=c(2,2))

 

#ヒストグラム作成
#xlim()とで目盛りを指定
hist(例題$事前[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10))
hist(例題$事後[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10))
hist(例題$事前[例題$性別=="m"],xlim=c(40,90),ylim=c(0,10))
hist(例題$事後[例題$性別=="m"],xlim=c(40,90),ylim=c(0,10))

 

出力された図のうち、

hist(例題$事前[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10))

だけヒストグラムの横幅が狭いため、以下に書き換えます。

 

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

#画面を2x2に分割
par(mfrow=c(2,2))

 

#ヒストグラム作成、breaks()は40-90の範囲で5ずつ区切るコード
hist(例題$事前[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10),
breaks=seq(40,90,5))
hist(例題$事後[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10))
hist(例題$事前[例題$性別=="m"],xlim=c(40,90),ylim=c(0,10))
hist(例題$事後[例題$性別=="m"],xlim=c(40,90),ylim=c(0,10))

 

これで他の図と見た目が同じになりました。

最終的に各図にタイトル名と横軸名を指定したのがこちら。

 

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

 

#画面を2x2に分割
par(mfrow=c(2,2))

 

#main()でタイトル名を指定
#xlab()で横軸名を指定
hist(例題$事前[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10),
breaks=seq(40,90,5),main="plot 1",xlab="事前f")
hist(例題$事後[例題$性別=="f"],xlim=c(40,90),ylim=c(0,10),
,main="plot 2",xlab="事後f")
hist(例題$事前[例題$性別=="m"],xlim=c(40,90),ylim=c(0,10),
,main="plot 3",xlab="事前t")
hist(例題$事後[例題$性別=="m"],xlim=c(40,90),ylim=c(0,10),
,main="plot 4",xlab="事後t")

 

f:id:km_for_research:20180127000731p:plain

 

タイトルつけつだけで、それっぽい見た目になりました。

 今日はここまで。

 

補記

今回はRstudioで上記作業をしたのですが、PCのユーザーネームが日本語だったため、当初はうまく処理できずエラーが発生するアクシデントに見舞われていました。

エラーコードでググったら、こんな知恵袋が。

 

統計用言語R(RStudio)のグラフ作成エラーについて... - Yahoo!知恵袋

 

ベストアンサーにあるように、英文字のユーザーを作成してからRstudioを起動したらエラーが起きなくなりました。めでたし。