# 変数の消去
rm(list = ls())

# パッケージ `pacman`を使って必要なパッケージをインストール
if(!require("pacman")) install.packages("pacman")
## Loading required package: pacman
pacman::p_load("tidyverse", 
               "gt",
               "skimr",
               "showtext")

# 表示を科学表示から変更
 options(scipen = 999)
 
#   日本語フォントの追加
 # フォントの追加と設定(適宜日本語フォントを指定してください)
font_add_google("Noto Sans JP", "noto")
showtext::showtext_auto()
dat_hirame <- read_csv("data/qfr_2024_hirame_2.csv")
## Rows: 3000 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (6): Date, Market, Gear_Type, Species, Highest_Price, Lowest_Price
## dbl (3): Number_of_Vessels, Landing_Amount, Average_Price
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
dat_hirame <- dat_hirame |>
              dplyr::mutate(Date = as.Date(Date, format = "%Y-%m-%d"),    #  日付型変換
                     Highest_Price = as.numeric(Highest_Price),          #  最高価格の数値型への変換
                     Lowest_Price = as.numeric(Lowest_Price),            #  最低価格の数値型への変換
                     Market = as.factor(Market))|>   #  市場のファクター(カテゴリカル)型への変換
  #マイナスの水揚量と300kg以上を外れ値データとして除外 # 
               dplyr::filter(between(Landing_Amount, 0, 300)) |> 
  # 水揚量が0以上300kg未満のデータを抽出
               dplyr::filter(Average_Price > 0) |> 
  # 以下の2行はここでまで処理はしていないが、漁業種と魚種をカテゴリカルデータ型へ変換
            dplyr::mutate(Gear_Type = as.factor(Gear_Type),  #  漁業種をカテゴリカルデータ型へ変換
                          Species = as.factor(Species))  |>   #  魚種をカテゴリカルデータ型へ変換
                          mutate(Species =  dplyr::recode(Species,
                                                "ひらたいやつ" = "ヒラメ",
                                                "ひらめ" = "ヒラメ",
                                                "平目" = "ヒラメ",
                                                ) ) |> ## 魚種名をすべてヒラメに変更
         tidyr::drop_na() |>  # 欠損値を削除
        mutate(year_dat = as_factor(lubridate::year(Date)), 
                                     month_dat = as_factor(lubridate:: month(Date))) #  年と月の変数を作成
## Warning: There were 2 warnings in `dplyr::mutate()`.
## The first warning was:
## ℹ In argument: `Highest_Price = as.numeric(Highest_Price)`.
## Caused by warning:
## ! NAs introduced by coercion
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
dat_hirame_cleaned <- dat_hirame |> filter(year(Date) >2009) |> #   2010年以降のデータを抽出
                                    filter(Gear_Type %in% c("底刺網")) #  底刺網のデータを抽出
# 派手な色のパレットを定義
vibrant_colors <- c("#FF1493", "#00FFFF", "#FFD700")

dat_hirame_cleaned |> 
  group_by(month_dat, Market) |> #  月別にデータ数を集計
  summarise(total_landing_volume = sum(Landing_Amount, na.rm = TRUE)) |> 
  ggplot(aes(x = month_dat, y = total_landing_volume, fill =Market)) + 
  geom_bar(stat = "identity", position = "dodge") + 
  scale_fill_manual(values = vibrant_colors) +  # ここで派手な色を適用
  labs(title = "年別水揚量", x = "月", y = "水揚量(kg)") +
  theme_minimal() +  # グラフの見た目を改善
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + # x軸のラベルを読みやすく
  facet_grid(rows = vars(Market))
## `summarise()` has grouped output by 'month_dat'. You can override using the
## `.groups` argument.

#1今回の最後の市場別の季節性の図からどのようなことが言えますか。  

上記の市場別の季節性の図からそれぞれの市場の漁獲体系について推測する。大船渡は最も漁獲数が多く、特に6、7月のヒラメが最も取れる時期に漁獲最盛期である。これは獲れる時期に多く獲る、ということをしているため、このようなグラフになっているのだと考える。それに対し釜石は、1、12月の魚が最も高く売れる時期に集中して漁獲をしていると考えられる。宮古は、この二つの市場のどちらも漁獲を盛んに行っていない3、4月に漁獲を行うことで、高い価値をつけていると考える。このように、大船渡は他の二つとくらべヒラメが多く取れるため取れる時期にそのまま取って売り出し、宮古と釜石は、それぞれヒラメが高く売れそうな時期を狙って漁獲しているのではないか推測する。

#2この分析の目的「岩手県のヒラメ資源状態は減少傾向にあるのか、増加傾向にあるのか?」を踏まえた場合、この結果から分析用のデータフレームをさらに変更する必要はありますか?この与えられたqfr_2024_hirame_2.csvから論理的な「意見」をレポートとして提出してください  

岩手県のヒラメ資源状態は減少傾向にあるのか、増加傾向にあるかを判断するためにdat_hirame_cleanedのデータフレームを改変する必要があるのか、Number_of_Vesellsを努力量とし、Landing_Amount / Number_of_Vessels でCPUEを出し、年ごとの変化をみて資源量の増加、減少を判断し、不具合がなかった場合は、このデータフレームで良いとする

#まず、それぞれの市場ごとの年別のCPUEの変化量を示す
vibrant_colors <- c("#FF1493", "#00FFFF", "#FFD700")

dat_hirame_cleaned |> 
  group_by(year_dat, Market) |> #  月別にデータ数を集計
  summarise(CPUE = sum(Landing_Amount/Number_of_Vessels, na.rm = TRUE)) |> 
  ggplot(aes(x = year_dat, y = CPUE, fill =Market)) + 
  geom_bar(stat = "identity", position = "dodge") + 
  scale_fill_manual(values = vibrant_colors) +  # ここで派手な色を適用
  labs(title = "市場ごとの年別CPUE(グラフ1)", x = "年", y = "CPUE") +
  theme_minimal() +  # グラフの見た目を改善
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + # x軸のラベルを読みやすく
  facet_grid(rows = vars(Market))
## `summarise()` has grouped output by 'year_dat'. You can override using the
## `.groups` argument.

#次に、すべての市場を統合した年別のCPUEの変化を示す

dat_hirame_cleaned |> 
  group_by(year_dat) |>
  summarise(CPUE = sum(Landing_Amount/Number_of_Vessels, na.rm = TRUE)) |> 
  ggplot(aes(x = year_dat, y = CPUE)) + 
  geom_bar(stat = "identity", position = "dodge") + 
  labs(title = "年別CPUE(グラフ2)", x = "年", y = "CPUE") +
  theme_minimal() +  # グラフの見た目を改善
  theme(axis.text.x = element_text(angle = 45, hjust = 1))  # x軸のラベルを読みやすく

 以上のグラフから、年別CPUEは2012年から上昇し、2015年から一定であるため、ヒラメ資源量に大きな増減はないのではないかと考察する。2012年から2014年にかけてヒラメの漁獲量が急激に上昇している理由は、2011年から東日本大震災の影響で漁が行われない期間があったからと考えられる。このように、dat_hirame_cleanedは、漁獲量の増減を判断するに十分なデータフレームであるため、改変する必要はないと考える。