No.21030 histのグラフについて  【コロン】 2014/05/03(Sat) 15:48

いつも大変お世話になっております。毎回毎回基本的な質問で心苦しいのですが,ご教授ください。

まずデータは以下の通りです。1行目のa, bはタイトルです。

a b
1 3
2 4
1 3
3 1
2 5
2 6
3 7
4 8
4 7
4 6
6 7
7 9
6 5
7 4
4 6
3 5
3 6
2 7
5 9
9 8
4 2
5 6
3 7
4 6

ヒストグラムを作成して,重ねようとしています。Rで以下のように入力して,作図をすることはできました。

hist(dat[,1], breaks=seq(0,10,1), col="#ff00ff40", border="#ff00ff")
hist(dat[,2], breaks=seq(0,10,1), col="#0000ff40", border="#0000ff", add=TRUE)
abline(v=mean(dat[,1]), col="red")
abline(v=mean(dat[,2]), col="blue")

ご教授いただきたいことが3つあります。

(1)左下のx軸,y軸の0が離れています。これを一つにまとめることは可能ですか?つまり,それぞれの軸とデータの間にある余計な(?)空間をなくしたいということです。

(2)もし(1)が可能であれば,おそらく問題ないと思うのですが,可能でない場合,赤色,青色の実践で引かれている平均値の棒の下をy軸の0に合わせることは可能ですか?

(3)それぞれの平均値(実際の値)をそれぞれの線の「上部」に表示できますか?赤線の場合はその左側に,青線の場合はその右側に。

以上,よろしくご指導ください。

No.21031 Re: histのグラフについて  【コロン】 2014/05/03(Sat) 16:03

申し訳ございません,お伺いしたいことは4つありました。

(4)それぞれのグラフを横に並べて書く場合,以下のようにしましたが,うまくできませんでした。なにが問題なのでしょうか?

par(mfrow=c(1,2))
hist(dat[,1], breaks=seq(0,10,1), col="#ff00ff40", border="#ff00ff")
abline(v=mean(dat[,1]), col="red"))
hist(dat[,2], breaks=seq(0,10,1), col="#0000ff40", border="#0000ff")
abline(v=mean(dat[,2]), col="blue")

よろしくお願いいたします。

No.21032 Re: histのグラフについて  【青木繁伸】 2014/05/03(Sat) 21:11

どのように「うまくできません」でしたかよく分かりませんが,最初の hist 関数の記述において閉じ括弧が一つ余計なんではないですか?

> それぞれの平均値(実際の値)をそれぞれの線の「上部」に表示できますか?赤線の場合はその左側に,青線の場合はその右側に

なんてのは,座標を指定して text 関数を使うだけの話。

その前の質問については,そのような図を描くことについて賛同できませんので,コメントは差し控えます。

取 る値の状況から見ると,hist よりは barplot を使う方がよさそうだし,その場合には beside=TRUE を使うほうがよさそうに思うが,平均値を表示するということならそれもあまりよい代替法でもないし,ということで,ノーコメントを決め込む方が賢そう。ま あ,後の質問のように,別々の図にする方が良いか,あるいはまた boxplot が最良の方法である可能性もありとか。

No.21033 Re: histのグラフについて  【コロン】 2014/05/05(Mon) 12:34

青木先生

お返事が遅くなり申し訳ございません。
(1)以外の件につきましては,勉強をしながら,無事,成功することができました。
(1)はやはり無理なのですね...承知しました。

いつも本当にありがとうございます。

● 「統計学関連なんでもあり」の過去ログ--- 046 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る