こういう図を描く

# 使うパッケージ
library(tidyr)
# 練習データ
data <- matrix(c(1001,"Control",28,1002,"Control",44,1003,"Control",22,
                 1004,"Control",44,1005,"Control",23,1006,"Control",29,
                 1007,"Control",44,1008,"Control",40,1009,"Control",32,
                 1010,"Control",43,1011,"Control",29,1012,"Control",21,
                 1013,"Control",42,1014,"Control",50,1015,"Control",41,
                 1016,"Control",19,1017,"Control",39,1018,"Control",24,
                 1019,"Control",32,1020,"Control",45,1021,"Control",24,
                 1022,"Control",20,1023,"Control",15,1024,"Control",23,
                 1025,"Control",18,1026,"Control",20,1027,"Control",22,
                 1028,"Control",14,1029,"Control",19,1030,"Control",11,
                 1031,"Control",10,1032,"Control",17,1033,"Control",17,
                 1034,"Control",30,1035,"Control",10,1036,"Control",20,
                 1037,"Control",24,1038,"Control",20,1039,"Control",24,
                 1040,"Control",20,2001,"Experiment",33,2002,"Experiment",20,
                 2003,"Experiment",22,2004,"Experiment",45,2005,"Experiment",22,
                 2006,"Experiment",35,2007,"Experiment",23,2008,"Experiment",20,
                 2009,"Experiment",44,2010,"Experiment",32,2011,"Experiment",24,
                 2012,"Experiment",45,2013,"Experiment",44,2014,"Experiment",44,
                 2015,"Experiment",48,2016,"Experiment",47,2017,"Experiment",47,
                 2018,"Experiment",47,2019,"Experiment",29,2020,"Experiment",28,
                 2021,"Experiment",27,2022,"Experiment",27,2023,"Experiment",19,
                 2024,"Experiment",16,2025,"Experiment",14,2026,"Experiment",21,
                 2027,"Experiment",33,2028,"Experiment",40,2029,"Experiment",36,
                 2030,"Experiment",19,2031,"Experiment",39,2032,"Experiment",47,
                 2033,"Experiment",38,2034,"Experiment",35,2035,"Experiment",30,
                 2036,"Experiment",15,2037,"Experiment",31,2038,"Experiment",34,
                 2039,"Experiment",47,2040,"Experiment",17),
               nrow = 80, ncol = 3, byrow = TRUE)

data.df <- data.frame(data)
colnames(data.df) <- c("id", "cond", "score")
data.df$score <- as.numeric(data.df$score)
DT::datatable(data.df)
# 平均と標準偏差
m <- tapply(data.df$score, list(data.df$cond), mean)
sd <- tapply(data.df$score, list(data.df$cond), sd)
m
##    Control Experiment 
##     26.725     32.100
sd
##    Control Experiment 
##   11.01278   10.86703
# グラフ
## エラーバーを書くために横軸の座標をxiでとっている
xi <- barplot(m, ylim = c(0, 55), 
        ylab = "Score", xlab = "Condition", 
        names.arg = c("Control", "Experiment"))
arrows(xi, m - sd, xi, m + sd, angle = 90, length = 0.1)
arrows(xi, m + sd, xi, m - sd, angle = 90, length = 0.1)

## 以下の部分はデータに合わせて調整するとよい
maxy = max(m + sd) * 1.0
stepy = max(m + sd) * 0.1

yi <- m + stepy * 3.0
maxyi <- max(yi) + stepy

lines(c(xi[1], xi[1], xi[2], xi[2]),
      c(yi[1], maxyi, maxyi, yi[2]))

text((xi[1] + xi[2]) / 2, maxyi + stepy / 4, "*", cex = 1.5)

# 画像として保存する
quartz(type = "png", file = "./Plot/Barplot_Mean.png", 
       width = 4, height = 6) 
par(family = "HiraKakuProN-W3")

## エラーバーを書くために横軸の座標をxiでとっている
xi <- barplot(m, ylim = c(0, 55), 
        ylab = "Score", xlab = "Condition", 
        names.arg = c("Control", "Experiment"))
arrows(xi, m - sd, xi, m + sd, angle = 90, length = 0.1)
arrows(xi, m + sd, xi, m - sd, angle = 90, length = 0.1)

## 以下の部分はデータに合わせて調整するとよい
maxy = max(m + sd) * 1.0
stepy = max(m + sd) * 0.1

yi <- m + stepy * 3.0
maxyi <- max(yi) + stepy

lines(c(xi[1], xi[1], xi[2], xi[2]),
      c(yi[1], maxyi, maxyi, yi[2]))

text((xi[1] + xi[2]) / 2, maxyi + stepy / 4, "*", cex = 1.5)
dev.off()
## quartz_off_screen 
##                 2
出力したpngファイル
出力したpngファイル