{"cells":[{"metadata":{"_kg_hide-output":true,"trusted":true},"cell_type":"code","source":"library(tidyverse)\nlibrary(glue)\nlibrary(purrr)\nlibrary(stringr)\nlibrary(janitor)\nlibrary(feather)\npath <- \"../input/cdp-unlocking-climate-solutions\"\npath_output <- \".\"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## CDP Survey Dataset\n\nWe will combine and store CDP survey data (2018-2020) into feather format to reduce storage usage and faster loading when reading the data"},{"metadata":{"_uuid":"051d70d956493feee0c6d64651c6a088724dca2a","_execution_state":"idle","trusted":true},"cell_type":"code","source":"# Read list of cities disclosing\ndis_city <- list.files(glue(\"{path}/Cities/Cities Disclosing\"), full.names = TRUE) %>%\n  tibble(p = .) %>%\n  mutate(year = str_extract(basename(p), \"^[0-9]{4}\")) %>%\n  filter(!is.na(year)) %>%\n  mutate(data = map(p, read.csv)) %>%\n  select(-p, -year) %>%\n  unnest(data) %>%\n  clean_names()\n\n# Read list of corporations disclosing\ndis_corp <- list.files(glue(\"{path}/Corporations/Corporations Disclosing\"),\n                       full.names = TRUE,\n                       recursive = TRUE) %>%\n  tibble(p = .) %>%\n  mutate(year = str_extract(basename(p), \"^[0-9]{4}\"),\n         cat = case_when(str_detect(tolower(p), \"climate change\") ~ \"climate_change\",\n                         str_detect(tolower(p), \"water security\") ~ \"water_security\"),\n         cat = as.factor(cat)) %>%\n  filter(!is.na(year)) %>%\n  mutate(data = map(p, read.csv)) %>%\n  select(-p, -year) %>%\n  unnest(data) %>%\n  clean_names()\n\n# Read city response\nres_city <- list.files(glue(\"{path}/Cities/Cities Responses\"), full.names = TRUE) %>%\n  tibble(p = .) %>%\n  mutate(year = str_extract(basename(p), \"^[0-9]{4}\")) %>%\n  filter(!is.na(year)) %>%\n  mutate(data = map(p, read.csv)) %>%\n  select(-p, -year) %>%\n  unnest(data) %>%\n  clean_names()\n\n# Read corporation response\nres_corp <- list.files(glue(\"{path}/Corporations/Corporations Responses\"),\n                       full.names = TRUE,\n                       recursive = TRUE) %>%\n  tibble(p = .) %>%\n  mutate(year = str_extract(basename(p), \"^[0-9]{4}\"),\n         cat = case_when(str_detect(tolower(p), \"climate change\") ~ \"climate_change\",\n                         str_detect(tolower(p), \"water security\") ~ \"water_security\"),\n         cat = as.factor(cat)) %>%\n  filter(!is.na(year)) %>%\n  mutate(data = map(p, read.csv)) %>%\n  select(-p, -year) %>%\n  unnest(data) %>%\n  clean_names()\n\n# Save the data\nwrite_feather(dis_city, glue(\"{path_output}/dis_city.feather\"))\nwrite_feather(dis_corp, glue(\"{path_output}/dis_corp.feather\"))\nwrite_feather(res_city, glue(\"{path_output}/res_city.feather\"))\nwrite_feather(res_corp, glue(\"{path_output}/res_corp.feather\"))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"collapsed":true},"cell_type":"code","source":"# Print data size\ncat(paste0(\"City disclosure data size: \", round(as.numeric(object.size(dis_city) / 1024^2), 2), \"MB\"), \"\\n\")\ncat(paste0(\"Corporate disclosure data size: \", round(as.numeric(object.size(dis_corp) / 1024^2), 2), \"MB\"), \"\\n\")\ncat(paste0(\"City response data size: \", round(as.numeric(object.size(res_city) / 1024^2), 2), \"MB\"), \"\\n\")\ncat(paste0(\"Corporate response data size: \", round(as.numeric(object.size(res_corp) / 1024^2), 2), \"MB\"))","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"name":"ir","display_name":"R","language":"R"},"language_info":{"name":"R","codemirror_mode":"r","pygments_lexer":"r","mimetype":"text/x-r-source","file_extension":".r","version":"3.6.3"}},"nbformat":4,"nbformat_minor":4}