diff --git a/R/make_boxplot.R b/R/make_boxplot.R
new file mode 100644
index 0000000000000000000000000000000000000000..8613c5673ade605595a9950ddea5b7d9b9a02947
--- /dev/null
+++ b/R/make_boxplot.R
@@ -0,0 +1,111 @@
+library(tidyverse)
+
+#繝代せ謌仙粥邇�
+# CSV繝輔ぃ繧、繝ォ縺ョ隱ュ縺ソ霎シ縺ソ
+df_epv <- read_csv("~/Desktop/logs/epv2base30half/pass_prob.csv") |>
+  select(pass_success_rate) |>
+  rename(epv = pass_success_rate)
+
+df_base <- read_csv("~/Desktop/logs/base2base30half/pass_prob.csv") |>
+  select(pass_success_rate) |>
+  rename(base = pass_success_rate)
+
+# 繝��繧ソ繝輔Ξ繝シ繝�縺ョ邨仙粋
+df <- bind_cols(df_epv, df_base)
+
+long_data <- df %>%
+  gather(key = "Category", value = "Value", epv, base)
+
+p <- long_data %>%
+    ggplot(aes(x = Category, y = Value)) +
+    geom_boxplot() +
+    scale_x_discrete(labels = c("HELIOS Base", "EPV繧ィ繝シ繧ク繧ァ繝ウ繝�")) + 
+    scale_y_continuous(limits = c(0.65, 1)) + 
+    stat_summary(fun = mean, geom = "point", shape = 20, size = 3, color = "red") +
+    xlab("繧ィ繝シ繧ク繧ァ繝ウ繝�") +
+    ylab("繝代せ謌仙粥邇�")
+
+ggsave("prob.pdf", p, device = cairo_pdf, width = 3, height = 3)
+
+
+# 繝懊�繝ォ菫晄戟邇�
+# CSV繝輔ぃ繧、繝ォ縺ョ隱ュ縺ソ霎シ縺ソ
+df_epv <- read_csv("~/Desktop/logs/epv2base30half/EPV.csv") |>
+  select(our_possession) |>
+  rename(epv = our_possession)
+
+df_base <- read_csv("~/Desktop/logs/base2base30half/HELIOS_base.csv") |>
+  select(our_possession) |>
+  rename(base = our_possession)
+
+# 繝��繧ソ繝輔Ξ繝シ繝�縺ョ邨仙粋
+df <- bind_cols(df_epv, df_base) 
+
+long_data <- df %>%
+  gather(key = "Category", value = "Value", epv, base)
+
+p <- long_data %>%
+    ggplot(aes(x = Category, y = Value)) +
+    geom_boxplot() +
+    scale_x_discrete(labels = c("HELIOS Base", "EPV繧ィ繝シ繧ク繧ァ繝ウ繝�")) + 
+    scale_y_continuous(limits = c(0.3, 0.9)) + 
+    stat_summary(fun = mean, geom = "point", shape = 20, size = 3, color = "red") +
+    xlab("繧ィ繝シ繧ク繧ァ繝ウ繝�") +
+    ylab("繝懊�繝ォ菫晄戟邇�")
+
+ggsave("possession.pdf", p, device = cairo_pdf, width = 3, height = 3)
+
+# 蠕礼せ
+# CSV繝輔ぃ繧、繝ォ縺ョ隱ュ縺ソ霎シ縺ソ
+df_epv <- read_csv("~/Desktop/logs/epv2base30half/EPV.csv") |>
+  select(our_point) |>
+  rename(epv = our_point)
+
+df_base <- read_csv("~/Desktop/logs/base2base30half/HELIOS_base.csv") |>
+  select(our_point) |>
+  rename(base = our_point)
+
+# 繝��繧ソ繝輔Ξ繝シ繝�縺ョ邨仙粋
+df <- bind_cols(df_epv, df_base)
+
+long_data <- df %>%
+  gather(key = "Category", value = "Value", epv, base)
+
+p <- long_data %>%
+    ggplot(aes(x = Category, y = Value)) +
+    geom_boxplot() +
+    scale_x_discrete(labels = c("HELIOS Base", "EPV繧ィ繝シ繧ク繧ァ繝ウ繝�")) + 
+    scale_y_continuous(limits = c(0, 4.5)) + 
+    stat_summary(fun = mean, geom = "point", shape = 20, size = 3, color = "red") +
+    xlab("繧ィ繝シ繧ク繧ァ繝ウ繝�") +
+    ylab("蠕礼せ")
+
+ggsave("point.pdf", p, device = cairo_pdf, width = 3, height = 3)
+
+
+# 螟ア轤ケ
+# CSV繝輔ぃ繧、繝ォ縺ョ隱ュ縺ソ霎シ縺ソ
+df_epv <- read_csv("~/Desktop/logs/epv2base30half/EPV.csv") |>
+  select(opp_point) |>
+  rename(epv = opp_point)
+
+df_base <- read_csv("~/Desktop/logs/base2base30half/HELIOS_base.csv") |>
+  select(opp_point) |>
+  rename(base = opp_point)
+
+# 繝��繧ソ繝輔Ξ繝シ繝�縺ョ邨仙粋
+df <- bind_cols(df_epv, df_base)
+
+long_data <- df %>%
+  gather(key = "Category", value = "Value", epv, base)
+
+p <- long_data %>%
+    ggplot(aes(x = Category, y = Value)) +
+    geom_boxplot() +
+    scale_x_discrete(labels = c("HELIOS Base", "EPV繧ィ繝シ繧ク繧ァ繝ウ繝�")) + 
+    scale_y_continuous(limits = c(0, 4.5)) + 
+    stat_summary(fun = mean, geom = "point", shape = 20, size = 3, color = "red") +
+    xlab("繧ィ繝シ繧ク繧ァ繝ウ繝�") +
+    ylab("螟ア轤ケ")
+
+ggsave("opp_point.pdf", p, device = cairo_pdf, width = 3, height = 3)