# 建築着工統計 表7-1
#' read total construction data
#'
#' This function reads excel files for number of
#' total construction.
#'
#' @param file_path_v vector of excel files path
#'
#' @return tibble
#' @importFrom magrittr %>%
#' @export
noce_total_read_files <- function(file_path_v){
ans_list <- vector("list", length(file_path_v))
for(i in seq_along(file_path_v)){
ans_list[[i]] <- .noce_total_read_a_file(file_path_v[i])
}
ans <- dplyr::bind_rows(ans_list)
return(ans)
}
# 1ファイルの読み込みルーチン
.noce_total_read_a_file <- function(file_path){
row_obj <- readxl::read_excel(file_path, col_names = .t7_1_names)
# 日付取得
.target_data <- .find_date_string(row_obj) %>% .into_dateobj()
# 余計なものを省いて
row_obj <- row_obj %>% .clean_rowdata() %>%
.add_area_item(.localDB_area_t7_1) %>%
.add_date_item(.target_data)
# longer pivotの処理
ans <-
list(row_obj) %>%
.make_dividedlist(1,"cat01_code") %>%
.make_dividedlist(2,"tab_code")
df_ans <- NULL
for(i in seq_along(ans)){
df_ans <- dplyr::bind_rows(df_ans, ans[[i]] %>% .rename_value())
}
# コード対応表の追加
ans <- df_ans %>%
dplyr::left_join(.localDB_tab_t7_1, by = "tab_code") %>%
dplyr::left_join(.localDB_cat01_t7_1, by = "cat01_code")
ans <- ans %>%
dplyr::select(-.data$area) %>%
dplyr::select(.data$tab_code, .data$`表章項目`,
.data$cat01_code, .data$`用途`,
.data$area_code, .data$`地域`,
.data$time_code, .data$`時間軸(月次)`,.data$date,
.data$unit,
.data$value) %>%
dplyr::mutate(value = as.numeric(.data$value),
`用途` = factor(.data$`用途`,
levels = c("計", "A居住専用住宅", "B居住専用準住宅",
"C居住産業併用建築物", "D農林水産業用建築物", "E鉱業,採石業,砂利採取業,建設業用建築物",
"F製造業用建築物", "G電気・ガス・熱供給・水道業用建築物", "H情報通信業用建築物",
"I運輸業用建築物", "J卸売業,小売業用建築物", "K金融業,保険業用建築物",
"L不動産業用建築物", "M宿泊業,飲食サービス業用建築物", "N教育,学習支援業用建築物",
"O医療,福祉用建築物", "Pその他のサービス業用建築物", "Q公務用建築物",
"R他に分類されない建築物")))
return(ans)
}
############################################################################
# t7_1 database
############################################################################
# 表7-1用の列名
.t7_1_names <- c("area",
"sp","11_12", "11_13", "11_14", "12_12", "12_13", "12_14", "13_12",
"13_13", "13_14", "14_12", "14_13", "14_14", "30_12", "30_13",
"30_14", "31_12", "31_13", "31_14", "34_12", "34_13", "34_14",
"40_12", "40_13", "40_14", "45_12", "45_13", "45_14", "50_12",
"50_13", "50_14", "51_12", "51_13", "51_14", "52_12", "52_13",
"52_14", "53_12", "53_13", "53_14", "56_12", "56_13", "56_14",
"59_12", "59_13", "59_14", "64_12", "64_13", "64_14", "67_12",
"67_13", "67_14", "74_12", "74_13", "74_14", "75_12", "75_13",
"75_14")
# tab 対応表
.localDB_tab_t7_1 <-
structure(
list(`tab_code` = c("12", "13", "14"),
`表章項目` = c("建築物の数", "床面積の合計", "工事費予定額"),
`unit` = c("棟", "m2", "万円")),
row.names = c(NA, -3L), class = c("tbl_df", "tbl", "data.frame"))
# cat01 対応表
.localDB_cat01_t7_1 <-
structure(
list(`cat01_code` = c("11", "12", "13", "14", "30", "31",
"34", "40", "45", "50", "51", "52", "53", "56", "59", "64", "67",
"74", "75"),
`用途` = c("計", "A居住専用住宅", "B居住専用準住宅",
"C居住産業併用建築物", "D農林水産業用建築物", "E鉱業,採石業,砂利採取業,建設業用建築物",
"F製造業用建築物", "G電気・ガス・熱供給・水道業用建築物", "H情報通信業用建築物",
"I運輸業用建築物", "J卸売業,小売業用建築物", "K金融業,保険業用建築物",
"L不動産業用建築物", "M宿泊業,飲食サービス業用建築物", "N教育,学習支援業用建築物",
"O医療,福祉用建築物", "Pその他のサービス業用建築物", "Q公務用建築物",
"R他に分類されない建築物")),
row.names = c(NA, -19L), class = c("tbl_df", "tbl", "data.frame"))
# area 対応表
.localDB_area_t7_1 <-
structure(
list(`area_code` = c("00000", "01000", "02000", "03000",
"04000", "05000", "06000", "07000", "08000", "09000", "10000",
"11000", "12000", "13000", "14000", "15000", "16000", "17000",
"18000", "19000", "20000", "21000", "22000", "23000", "24000",
"25000", "26000", "27000", "28000", "29000", "30000", "31000",
"32000", "33000", "34000", "35000", "36000", "37000", "38000",
"39000", "40000", "41000", "42000", "43000", "44000", "45000",
"46000", "47000", "00001", "01001", "02001", "03001", "04001",
"05001", "06001", "07001", "08001", "09001", "10001", "11001",
"12001", "13001", "14001", "15001", "16001", "17001", "18001",
"19001", "20001", "21001", "22001", "23001", "24001", "25001",
"26001", "27001", "28001", "29001", "30001", "31001", "32001",
"33001", "34001", "35001", "36001", "37001", "38001", "39001",
"40001", "41001", "42001", "43001", "44001", "45001", "46001",
"47001", "00002", "01002", "02002", "03002", "04002", "05002",
"06002", "07002", "08002", "09002", "10002", "11002", "12002",
"13002", "14002", "15002", "16002", "17002", "18002", "19002",
"20002", "21002", "22002", "23002", "24002", "25002", "26002",
"27002", "28002", "29002", "30002", "31002", "32002", "33002",
"34002", "35002", "36002", "37002", "38002", "39002", "40002",
"41002", "42002", "43002", "44002", "45002", "46002", "47002"),
`地域` = c("全国", "北海道", "青森県", "岩手県", "宮城県",
"秋田県", "山形県", "福島県", "茨城県", "栃木県", "群馬県", "埼玉県",
"千葉県", "東京都", "神奈川県", "新潟県", "富山県", "石川県",
"福井県", "山梨県", "長野県", "岐阜県", "静岡県", "愛知県", "三重県",
"滋賀県", "京都府", "大阪府", "兵庫県", "奈良県", "和歌山県",
"鳥取県", "島根県", "岡山県", "広島県", "山口県", "徳島県", "香川県",
"愛媛県", "高知県", "福岡県", "佐賀県", "長崎県", "熊本県", "大分県",
"宮崎県", "鹿児島県", "沖縄県", "全国市部", "北海道市部", "青森県市部",
"岩手県市部", "宮城県市部", "秋田県市部", "山形県市部", "福島県市部",
"茨城県市部", "栃木県市部", "群馬県市部", "埼玉県市部", "千葉県市部",
"東京都市部", "神奈川県市部", "新潟県市部", "富山県市部", "石川県市部",
"福井県市部", "山梨県市部", "長野県市部", "岐阜県市部", "静岡県市部",
"愛知県市部", "三重県市部", "滋賀県市部", "京都府市部", "大阪府市部",
"兵庫県市部", "奈良県市部", "和歌山県市部", "鳥取県市部", "島根県市部",
"岡山県市部", "広島県市部", "山口県市部", "徳島県市部", "香川県市部",
"愛媛県市部", "高知県市部", "福岡県市部", "佐賀県市部", "長崎県市部",
"熊本県市部", "大分県市部", "宮崎県市部", "鹿児島県市部", "沖縄県市部",
"全国郡部", "北海道郡部", "青森県郡部", "岩手県郡部", "宮城県郡部",
"秋田県郡部", "山形県郡部", "福島県郡部", "茨城県郡部", "栃木県郡部",
"群馬県郡部", "埼玉県郡部", "千葉県郡部", "東京都郡部", "神奈川県郡部",
"新潟県郡部", "富山県郡部", "石川県郡部", "福井県郡部", "山梨県郡部",
"長野県郡部", "岐阜県郡部", "静岡県郡部", "愛知県郡部", "三重県郡部",
"滋賀県郡部", "京都府郡部", "大阪府郡部", "兵庫県郡部", "奈良県郡部",
"和歌山県郡部", "鳥取県郡部", "島根県郡部", "岡山県郡部", "広島県郡部",
"山口県郡部", "徳島県郡部", "香川県郡部", "愛媛県郡部", "高知県郡部",
"福岡県郡部", "佐賀県郡部", "長崎県郡部", "熊本県郡部", "大分県郡部",
"宮崎県郡部", "鹿児島県郡部", "沖縄県郡部")),
row.names = c(NA, -144L),
class = c("tbl_df", "tbl", "data.frame"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.