R/machimura.R

Defines functions build_machimura_url machimura_filter_gyosyugyokaku machimura_filter_kajyu machimura_filter_yasai machimura_filter_nougyousannsyutu machimura_filter_farmer machimura_filter_office machimura_filter_finance machimura_filter_population machimura_filter_area vec_machimura_filter select_city_only view_machimura

Documented in view_machimura

#' View Waga Machi Waga Mura page
#' @param city_code city code
#' @param type "basic" or "detail"
#' @examples
#' \dontrun{
#' build_machimura("08201", type = "base")
#' }
#' @export
view_machimura <- function(city_code, type) {
  utils::browseURL(
    build_machimura_url(city_code, type)
  )
}

select_city_only <- function(data) {
  # data %>%
  #   dplyr::select(city_code, city_name, nen, koumoku, contains("city"))
  data %>%
    dplyr::select(prefecture_name,
                  city_name,
                  `項目名`,
                  `年`,
                  tidyselect::contains("市町村"))
}

vec_machimura_filter <- function(type) {
  switch (type,
  # 農業データ -------------------------------------------------------------------
    "面積" = c("総土地面積",
             "林野面積",
             "耕地面積", "田耕地面積", "畑耕地面積"),
    "人口・世帯" = c("総人口", "人口・男", "人口・女",
           "年少人口", "生産年齢人口", "老年人口",
           "農業就業人口", "農業就業人口・男", "農業就業人口・女",
           "漁業就業者数", "漁業就業者数・男", "漁業就業者数・女",
           "総世帯数"),
    "市町村財政" = c("歳入総額", "歳出総額", "農・畜産業費", "林業費",
                "水産業費"),
    "事業所数" = c("事業所数総数", "建設業事業所数",
               "製造業事業所数", "食品製造業事業所数", "卸売業・小売業事業所数"),
    "農業経営体数・農家数" = c("農業経営体数", "農業経営体・家族経営体数",
                     "家族経営体数・うち法人経営体数", "農業経営体・組織経営体数",
                     "組織経営体数・うち法人経営体数", "総農家数",
                     "自給的農家数", "販売農家数", "主業農家数", "準主業農家数",
                     "副業的農家数", "専業農家数", "第1種兼業農家数",
                     "第2種兼業農家数"),
    "作付・飼養別農業経営体数" = c("農業経営体数・稲", "農業経営体数・麦類",
                       "農業経営体数・雑穀", "農業経営体数・いも類",
                       "農業経営体数・豆類", "農業経営体数・工芸農作物",
                       "農業経営体数・野菜類", "農業経営体数・花き類・花木",
                       "農業経営体数・果樹", "農業経営体数・乳用牛",
                       "農業経営体数・肉用牛", "農業経営体数・豚",
                       "農業経営体数・採卵鶏", "農業経営体数・ブロイラー"),
    "経営耕地規模別農業経営体数" = c("農業経営体数", "農業経営体数・経営耕地なし",
                        "農業経営体数・0.3ha未満", "農業経営体数・0.3〜0.5ha",
                        "農業経営体数・0.5〜1.0ha", "農業経営体数・1.0〜1.5ha",
                        "農業経営体数・1.5〜2.0ha", "農業経営体数・2.0〜3.0ha",
                        "農業経営体数・3.0〜5.0ha", "農業経営体数・5.0〜10.0ha",
                        "農業経営体数・10.0〜20.0ha", "農業経営体数・20.0〜30.0ha",
                        "農業経営体数・30.0〜50.0ha", "農業経営体数・50.0〜100.0ha",
                        "農業経営体数・100.0ha以上"),
    "農業労働" = c("農業就業人口", "農業就業人口・男", "農業就業人口・女",
               "基幹的農業従事者数", "基幹的農業従事者数・男",
               "基幹的農業従事者数・女", "基幹的農業従事者数・65歳未満",
               "基幹的農業従事者数・65歳未満・男", "基幹的農業従事者数・65歳未満・女",
               "経営者等の農業経営従事状況・計", "経営者等の農業経営従事状況・1〜59日",
               "経営者等の農業経営従事状況・60〜99日", "経営者等の農業経営従事状況・100〜149日",
               "経営者等の農業経営従事状況・150日以上", "雇用労働・常雇い",
               "雇用労働・臨時雇い"),
    "地域" = c("農業集落数", "集落営農数", "農産物直売所数"),
    "農業産出額" = c("市町村別農業産出額合計", "市町村別農業産出額耕種計",
                "市町村別農業産出額・米", "市町村別農業産出額・麦類",
                "市町村別農業産出額・雑穀", "市町村別農業産出額・豆類",
                "市町村別農業産出額・いも類", "市町村別農業産出額・野菜",
                "市町村別農業産出額・果実", "市町村別農業産出額・花き",
                "市町村別農業産出額・工芸農作物", "市町村別農業産出額・種苗・苗木類・その他",
                "市町村別農業産出額畜産計", "市町村別農業産出額・肉用牛",
                "市町村別農業産出額・乳用牛", "市町村別農業産出額・乳用牛うち生乳",
                "市町村別農業産出額・豚", "市町村別農業産出額・鶏",
                "市町村別農業産出額・鶏うち鶏卵", "市町村別農業産出額・鶏うちブロイラー",
                "市町村別農業産出額・その他畜産物", "市町村別農業産出額・加工農産物"),
    "販売を目的とした農畜産物の作付・飼養状況_稲、麦、雑穀、いも類、豆類、工芸農作物" = c("水稲作付面積", "水稲経営体数", "陸稲作付面積",
                               "陸稲経営体数", "小麦作付面積", "小麦経営体数",
                               "大麦・裸麦作付面積", "大麦・裸麦経営体数",
                               "そば作付面積", "そば経営体数", "その他雑穀作付面積",
                               "その他雑穀経営体数", "ばれいしょ作付面積",
                               "ばれいしょ経営体数", "かんしょ作付面積", "かんしょ経営体数",
                               "大豆作付面積", "大豆経営体数", "小豆作付面積",
                               "小豆経営体数", "その他の豆類作付面積", "その他の豆類経営体数",
                               "さとうきび作付面積", "さとうきび経営体数",
                               "たばこ作付面積", "たばこ経営体数", "茶作付面積",
                               "茶経営体数", "てんさい作付面積", "てんさい経営体数",
                               "こんにゃくいも作付面積", "こんにゃくいも経営体数",
                               "その他工芸農作物作付面積", "その他工芸農作物経営体数"),
    "販売を目的とした農畜産物の作付・飼養状況_野菜" = c("だいこん作付面積", "だいこん経営体数", "にんじん作付面積",
                                  "にんじん経営体数", "さといも作付面積", "さといも経営体数",
                                  "やまのいも作付面積", "やまのいも経営体数",
                                  "はくさい作付面積", "はくさい経営体数", "キャベツ作付面積",
                                  "キャベツ経営体数", "ほうれんそう作付面積",
                                  "ほうれんそう経営体数", "レタス作付面積", "レタス経営体数",
                                  "ねぎ作付面積", "ねぎ経営体数", "たまねぎ作付面積",
                                  "たまねぎ経営体数", "ブロッコリー作付面積",
                                  "ブロッコリー経営体数", "きゅうり作付面積",
                                  "きゅうり経営体数", "なす作付面積", "なす経営体数",
                                  "トマト作付面積", "トマト経営体数", "ピーマン作付面積",
                                  "ピーマン経営体数", "いちご作付面積", "いちご経営体数",
                                  "メロン作付面積", "メロン経営体数", "すいか作付面積",
                                  "すいか経営体数", "その他の野菜作付面積", "その他の野菜経営体数"),
    "販売を目的とした農畜産物の作付・飼養状況_果樹" = c("温州みかん栽培面積", "温州みかん経営体数",
                                  "その他のかんきつ栽培面積", "その他のかんきつ経営体数",
                                  "りんご栽培面積", "りんご経営体数", "ぶどう栽培面積",
                                  "ぶどう経営体数", "日本なし栽培面積", "日本なし経営体数",
                                  "西洋なし栽培面積", "西洋なし経営体数", "もも栽培面積",
                                  "もも経営体数", "すもも栽培面積", "すもも経営体数",
                                  "おうとう栽培面積", "おうとう経営体数", "うめ栽培面積",
                                  "うめ経営体数", "びわ栽培面積", "びわ経営体数",
                                  "かき栽培面積", "かき経営体数", "くり栽培面積",
                                  "くり経営体数", "キウイフルーツ栽培面積", "キウイフルーツ経営体数",
                                  "パインアップル栽培面積", "パインアップル経営体数",
                                  "その他の果樹栽培面積", "その他の果樹経営体数"),
    "販売を目的とした農畜産物の作付・飼養状況_花き、その他作物" = c("花き類栽培面積", "花き類経営体数", "花木栽培面積",
           "花木経営体数", "その他の作物栽培面積", "その他の作物経営体数",
           "乳用牛経営体数", "乳用牛飼養頭数"),
    "販売を目的とした農畜産物の作付・飼養状況_畜産" = c("肉用牛経営体数", "肉用牛飼養頭数", "豚経営体数",
                                  "豚飼養頭数", "採卵鶏経営体数", "採卵鶏飼養羽数",
                                  "ブロイラー経営体数", "ブロイラー出荷羽数"),
    "農産物の生産_普通作物・工芸農作物" = c("水稲作付面積", "水稲収穫量", "小麦作付面積",
                            "小麦収穫量", "二条大麦作付面積", "二条大麦収穫量",
                            "六条大麦作付面積", "六条大麦収穫量", "はだか麦作付面積",
                            "はだか麦収穫量", "大豆作付面積", "大豆収穫量",
                            "そば作付面積", "そば収穫量", "なたね作付面積",
                            "なたね収穫量", "てんさい作付面積(北海道)",
                            "てんさい収穫量(北海道)"),
    "農産物の生産_野菜指定産地に該当する品目" = c("春だいこん作付面積", "春だいこん収穫量",
                               "夏だいこん作付面積", "夏だいこん収穫量", "秋冬だいこん作付面積",
                               "秋冬だいこん収穫量", "春夏にんじん作付面積",
                               "春夏にんじん収穫量", "秋にんじん作付面積",
                               "秋にんじん収穫量", "冬にんじん作付面積", "冬にんじん収穫量",
                               "ばれいしょ作付面積", "ばれいしょ収穫量", "秋冬さといも作付面積",
                               "秋冬さといも収穫量", "春はくさい作付面積",
                               "春はくさい収穫量", "夏はくさい作付面積", "夏はくさい収穫量",
                               "秋冬はくさい作付面積", "秋冬はくさい収穫量",
                               "春キャベツ作付面積", "春キャベツ収穫量", "夏秋キャベツ作付面積",
                               "夏秋キャベツ収穫量", "冬キャベツ作付面積",
                               "冬キャベツ収穫量", "ほうれんそう作付面積",
                               "ほうれんそう収穫量", "春レタス作付面積", "春レタス収穫量",
                               "夏秋レタス作付面積", "夏秋レタス収穫量", "冬レタス作付面積",
                               "冬レタス収穫量", "春ねぎ作付面積", "春ねぎ収穫量",
                               "夏ねぎ作付面積", "夏ねぎ収穫量", "秋冬ねぎ作付面積",
                               "秋冬ねぎ収穫量", "たまねぎ作付面積", "たまねぎ収穫量",
                               "冬春きゅうり作付面積", "冬春きゅうり収穫量",
                               "夏秋きゅうり作付面積", "夏秋きゅうり収穫量",
                               "冬春なす作付面積", "冬春なす収穫量", "夏秋なす作付面積",
                               "夏秋なす収穫量", "冬春トマト作付面積", "冬春トマト収穫量",
                               "夏秋トマト作付面積", "夏秋トマト収穫量", "冬春ピーマン作付面積",
                               "冬春ピーマン収穫量", "夏秋ピーマン作付面積",
                               "夏秋ピーマン収穫量"),
    # 林業データ -------------------------------------------------------------------
  "林野面積等" = c("林野面積", "林野面積・国有林計", "林野面積・国有林・林野庁",
              "林野面積・国有林・その他官庁", "林野面積・民有林計",
              "林野面積・民有林・独立行政法人等", "林野面積・民有林・公有林",
              "林野面積・民有林・私有林", "現況森林面積",
              "森林以外の草生地面積", "森林計画による森林面積計",
              "森林計画による森林面積・国有", "森林計画による森林面積・民有"),
  "林業経営体" = c("林業経営体数", "林業経営体・うち家族経営",
         "林業経営体・法人化している経営体数", "林業・法人化経営体・農事組合法人",
         "林業・法人化経営体・会社", "林業・法人化経営体・各種団体",
         "林業・法人化経営体・その他法人", "林業・法人化経営体・地方公共団体・財産区",
         "林業経営体・法人化していない経営体数", "林家数",
         "漁業経営体数"),
  # 漁業データ -------------------------------------------------------------------
  " 漁業経営体" = c("漁業経営体数・個人", "漁業経営体数・会社",
               "漁業経営体数・漁業協同組合", "漁業経営体数・漁業生産組合",
               "漁業経営体数・共同経営", "漁業経営体数・官公庁・学校・試験場",
               "漁業経営体数・その他"),
  "漁業就業者" = c("漁業就業者数", "漁業就業者数・男", "漁業就業者数・女"),
  "営んだ漁業種類別経営体数" = c("営んだ漁業種類別経営体数・合計", "営んだ漁業種類別経営体数・底びき網",
                     "営んだ漁業種類別経営体数・船びき網", "営んだ漁業種類別経営体数・まき網",
                     "営んだ漁業種類別経営体数・刺網", "営んだ漁業種類別経営体数・さんま棒受網",
                     "営んだ漁業種類別経営体数・大型定置網", "営んだ漁業種類別経営体数・さけ定置網",
                     "営んだ漁業種類別経営体数・小型定置網", "営んだ漁業種類別経営体数・その他の網漁業",
                     "営んだ漁業種類別経営体数・はえ縄", "営んだ漁業種類別経営体数・釣",
                     "営んだ漁業種類別経営体数・小型捕鯨", "営んだ漁業種類別経営体数・潜水器漁業",
                     "営んだ漁業種類別経営体数・採貝・採藻", "営んだ漁業種類別経営体数・その他の漁業",
                     "営んだ漁業種類別経営体数・海面養殖"),
  "漁港数・漁船隻数" = c("漁港数", "漁船隻数", "漁船・無動力船隻数",
                 "漁船・船外機付船隻数", "漁船・動力船隻数",
                 "漁船・トン数"),
  "漁業関連施設数" = c("冷凍・冷蔵工場数", "営んだ水産加工場数",
                "水産加工場数・冷凍水産物", "水産加工場数・ねり製品",
                "水産加工場数・冷凍食品", "水産加工場数・素干し品",
                "水産加工場数・塩干し品", "水産加工場数・煮干し品",
                "水産加工場数・塩蔵品", "水産加工場数・くん製品",
                "水産加工場数・節製品"),
  "内水面養殖業" = c("内水面養殖池数", "内水面養殖面積", "内水面養殖業従事者数",
               "内水面養殖業営んだ経営体数"),
  "湖沼漁業" = c("湖沼漁業従事者数", "湖沼漁業営んだ経営体数"),
  "海面漁業の魚種別漁獲量" = c("魚種別漁獲量合計", "魚種別漁獲量・まぐろ類",
                    "魚種別漁獲量・かじき類", "魚種別漁獲量・かつお類",
                    "魚種別漁獲量・さめ類", "魚種別漁獲量・さけ・ます類",
                    "魚種別漁獲量・このしろ", "魚種別漁獲量・にしん",
                    "魚種別漁獲量・いわし類", "魚種別漁獲量・あじ類",
                    "魚種別漁獲量・さば類", "魚種別漁獲量・さんま",
                    "魚種別漁獲量・ぶり類", "魚種別漁獲量・ひらめ・かれい類",
                    "魚種別漁獲量・たら類", "魚種別漁獲量・ほっけ",
                    "魚種別漁獲量・きちじ", "魚種別漁獲量・はたはた",
                    "魚種別漁獲量・にぎす類", "魚種別漁獲量・あなご類",
                    "魚種別漁獲量・たちうお", "魚種別漁獲量・たい類",
                    "魚種別漁獲量・いさき", "魚種別漁獲量・さわら類",
                    "魚種別漁獲量・すずき類", "魚種別漁獲量・いかなご",
                    "魚種別漁獲量・あまだい類", "魚種別漁獲量・ふぐ類",
                    "魚種別漁獲量・えび類", "魚種別漁獲量・かに類",
                    "魚種別漁獲量・おきあみ類", "魚種別漁獲量・貝類",
                    "魚種別漁獲量・いか類", "魚種別漁獲量・たこ類",
                    "魚種別漁獲量・うに類", "魚種別漁獲量・海産ほ乳類",
                    "魚種別漁獲量・海藻類")
  )
}

machimura_filter_area <- function(data, city_only = TRUE) {
  data <-
    data %>%
    dplyr::filter(`項目名` %in% vec_machimura_filter("面積")) %>%
    dplyr::distinct(`項目名`, .keep_all = TRUE) %>%
    dplyr::mutate(`項目名` = dplyr::if_else(`項目名` %in% c("田耕地面積", "畑耕地面積"),
                                    paste0("耕地面積うち_", `項目名`),
                                    `項目名`))
  if (city_only == TRUE) {
    data <-
      select_city_only(data)
  }
  data
}

machimura_filter_population <- function(data, city_only = TRUE) {
  data <-
    data %>%
    dplyr::filter(`項目名` %in% vec_machimura_filter("人口"))
  if (city_only == TRUE) {
    data <-
      select_city_only(data)
  }
  data
}

machimura_filter_finance <- function(data, city_only = TRUE) {
  data <-
    data %>%
    dplyr::filter(`項目名` %in% vec_machimura_filter("市町村財政")) %>%
    dplyr::mutate(`項目名` = dplyr::if_else(`項目名` %in% c("農・畜産業費", "林業費", "水産業費"),
                                    paste0("歳出総額うち_", `項目名`),
                                    `項目名`))
  if (city_only == TRUE) {
    data <-
      select_city_only(data)
  }
  data
}

machimura_filter_office <- function(data, city_only = TRUE) {
  data <-
    data %>%
    dplyr::filter(`項目名` %in% vec_machimura_filter("事業所数")) %>%
    dplyr::mutate(`項目名` = dplyr::if_else(`項目名` %in% c("食品製造業事業所数"),
                                    paste0("製造業事業所数うち_", `項目名`),
                                    `項目名`))
  if (city_only == TRUE) {
    data <-
      select_city_only(data)
  }
  data
}

machimura_filter_farmer <- function(data, city_only = TRUE) {
  data <-
    data %>%
    dplyr::filter(`項目名` %in% vec_machimura_filter("農業経営体数・農家数"))
  if (city_only == TRUE) {
    data <-
      select_city_only(data)
  }
  data
}

machimura_filter_nougyousannsyutu <- function(data, city_only = TRUE) {
  data <-
    data %>%
    dplyr::filter(`項目名` %in% vec_machimura_filter("農業産出額")) %>%
    dplyr::mutate(`項目名` = stringr::str_remove(`項目名`, "市町村別農業産出額・"))
  if (city_only == TRUE) {
    data <-
      select_city_only(data)
  }
  data
}

machimura_filter_yasai <- function(data, city_only = TRUE) {
  data <-
    data %>%
    dplyr::filter(`項目名` %in% vec_machimura_filter("販売を目的とした農畜産物の作付・飼養状況_野菜"))
  if (city_only == TRUE) {
    data <-
      select_city_only(data)
  }
  data %>%
    dplyr::slice(-c(min(stringr::str_which(data$項目名, "^たまねぎ作付面積$")),
                    min(stringr::str_which(data$項目名, "^ほうれんそう作付面積$"))))
}

machimura_filter_kajyu <- function(data, city_only = TRUE) {
  data <-
    data %>%
    dplyr::filter(`項目名` %in% vec_machimura_filter("販売を目的とした農畜産物の作付・飼養状況_果樹"))
  if (city_only == TRUE) {
    data <-
      select_city_only(data)
  }
  data
}

machimura_filter_gyosyugyokaku <- function(data, city_only = TRUE) {
  data <-
    data %>%
    dplyr::filter(`項目名` %in% vec_machimura_filter("海面漁業の魚種別漁獲量")) %>%
    dplyr::mutate(`項目名` = stringr::str_remove(`項目名`, "魚種別漁獲量・"))
  if (city_only == TRUE) {
    data <-
      select_city_only(data)
  }
  data
}

build_machimura_url <- function(city_code, type) {
  type <-
    rlang::arg_match(type,
                     c("base", "detail"))
  pref <-
    stringr::str_sub(city_code, 1, 2)
  city <-
    stringr::str_sub(city_code, 3, 5)
  ifelse(type == "base",
         glue::glue("http://www.machimura.maff.go.jp/machi/contents/{pref}/{city}/index.html"),
         glue::glue("http://www.machimura.maff.go.jp/machi/contents/{pref}/{city}/details.html"))
}
uribo/maffcensus documentation built on Dec. 23, 2021, 2:03 p.m.