0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】棒グラフに個別データを重ねるやつ (その2):geom_bar + geom_point + geom_line

Posted at

はじめに

前回の続きです。. . . って1年以上前かよ。

最近実験心理学系の論文で流行っている棒グラフに個別データを載せるやつ。
完成形はこんな感じ↓

Rplot.jpeg

geom_barで棒グラフ, geom_pointgeom_lineで個人データを描きます。

目次

  1. 下準備
  2. 平均と標準偏差を出す
  3. グラフを描画
  4. 終わりに

下準備

今回使うデータです。
このdfというデータは個人プロット (geom_pointgeom_line) で使います。

id <- rep(seq(1, 10, 1), 4)
A <- c(rep('a1', 20), rep('a2', 20))
B <- rep(c(rep('b1', 10), rep('b2', 10)), 2)

a1b1 <- c(rnorm(10, mean=5, sd=5))
a1b2 <- c(rnorm(10, mean=15, sd=5))
a2b1 <- c(rnorm(10, mean=10, sd=5))
a2b2 <- c(rnorm(10, mean=-10, sd=5))

df <- data.frame(id, A, B, Value  = c(a1b1, a1b2, a2b1, a2b2))


#データの出力
df

平均と標準誤差を出す

今回使うデータの平均と標準誤差を出します。
このSummaryDataというデータは棒グラフ (geom_bar) で使います。

library(tidyverse)

SummaryData <- df %>% 
  group_by(A, B) %>%
  dplyr::summarise(mean_Value = mean(Value),
                   se_Value = sd(Value)/sqrt(n()))

#計算結果の出力
SummaryData 

グラフを描画

棒グラフとエラーバーではdata=SummaryData, 個別プロットではdata=dfという感じに描画に使用するデータを指定します。

gColor=c("darkorange", "yellow")

ggplot() + 
  geom_bar(data = SummaryData, aes(x = B, y = mean_Value, fill = B), position = position_dodge(), stat = "identity", alpha = .3, 
           color = "black", size = 0.7) +
  geom_line(data = df, aes(x = B, y = Value, color = B, group = id), stat = "identity", alpha = .3, color = "grey40") +
  geom_point(data = df, aes(x = B, y = Value, color = B, group = id), shape = 1, stat = "identity", alpha = .3, color = "grey10") +
  geom_errorbar(data = SummaryData, aes(x = B, y = mean_Value, ymax = mean_Value + se_Value, ymin = mean_Value - se_Value), 
                width = 0.3, position = position_dodge(0.9), stat = "identity", color = "black") +
  scale_fill_manual(values = gColor) +
  facet_wrap(~ A) +
  coord_cartesian(ylim = c(-60, 60))

  

終わりに

論文で報告する時は注釈に

「ラインプロットは個別値、エラーバーは標準誤差を表す」

を忘れずに。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?