集計データを使って信頼区間付きのグラフを描く

タイトル通りで、95%信頼区間付きのグラフを描くのだけれど、今回は、集計したデータが手元にあって、それをggplot2を用いてグラフにする。エラーバーとかも同じ方法でよい…と言うか、エラーバーを95%信頼区間にしているだけ。

データとして、以下のような感じで平均点と[95%信頼区間]が与えられているとする。

  事前テスト平均点 事後テスト平均点
A群 30 [28, 32] 40 [38,42]
B群 50 [48, 52] 65 [63, 67]
C群 70 [68, 72] 85 [83, 87]

 

まずは、データの読み込み

x = data.frame (
time =c(1,2,1,2,1,2), #事前と事後
group =c("A", "A", "B", "B", "C", "C"),#群
means =c (30, 40, 50, 65, 70, 85),#平均点
lower =c (28, 38, 48, 63, 68, 83),#信頼区間の上限
upper =c (32, 42, 52, 67, 72, 87) #信頼区間の下限
)

それをグラフにする。

g = ggplot(x, aes(x = time, y = means, group = group))+ #データの読み込み
geom_line(aes(linetype=group),size=1)+ #折れ線グラフの作成。線種は群ごと。
geom_point(aes(shape=group),size=3)+ #折れ線の先に印を付ける。印の種類は群ごと
scale_x_continuous(breaks=seq(1,2,1), labels= c("事前", "事後")) + #x目盛りの制御
ylim(0,100) + #y軸の範囲指定
scale_linetype_manual(values=c("solid","twodash", "dotted")) + #線種の指定
theme_classic() + #全体のテーマ
geom_errorbar(aes(ymin = lower, ymax = upper,linetype=group), width = 0.8, size =1,) #信頼区間の付加

それを描画する。

plot(g)