Skip to content

Instantly share code, notes, and snippets.

@geojackass
Last active April 30, 2020 15:24
Show Gist options
  • Save geojackass/403f5fdb7957987b77a2b1d56e906e82 to your computer and use it in GitHub Desktop.
Save geojackass/403f5fdb7957987b77a2b1d56e906e82 to your computer and use it in GitHub Desktop.
死因(死因年次推移分類)別にみた性・年次別死亡数及び死亡率(人口10万対)
##############initial setup################
getwd()
lib_pth <- getwd()
print(lib_pth)
#install.packages("tidyverse", lib=lib_pth)
#install.packages("pacman", lib=lib_pth)
#install.packages("stringr", lib=lib_pth)
#install.packages("magrittr", lib=lib_pth)
#install.packages("estatapi", lib=lib_pth)
############################################
pacman::p_load(tidyverse, magrittr, stringr, estatapi)
AppID <- "SET YOUR API KEY"
####################################################################################################
###statsDataID=0003411656死因(死因年次推移分類)別にみた性・年次別死亡数及び死亡率(人口10万対)###
####################################################################################################
ResultData <- estat_getStatsList(appId = AppID, searchWord = "死因")
MetaInfo <- estat_getMetaInfo(appId = AppID, statsDataId = "0003411656")
#confirm
#MetaInfo
#カテゴリマスターは予め抽出しておく
write.csv(MetaInfo$cat01, "data/csv/mhlw_dc_master01.csv", fileEncoding="UTF-8", row.names=FALSE)
#死因データの抽出
GetStatData <- estat_getStatsData(appId = AppID,
statsDataId = "0003411656",
limit = 9999999)
#####死因が自殺のみ抽出#####
d <- filter(GetStatData, cat01_code=="Hi16")
#####データ整形,リネームを行う#####
d2 <- d %>% select("死因年次推移分類","性別", "time_code","value", "unit") %>% rename(cause="死因年次推移分類",gender="性別")
#####死因の"Hi16_"を削除#####
cause2 <- str_split(d2$cause,pattern = "_")[[1]][2]
df <- mutate(d2, cause = cause2)
#####time_codeをYYYYに変換する#####
year <- str_sub(df$time_code, start=1, end=4)
#head(year)
df <- mutate(df, time_code = year)
#head(df)
write.csv(df, "data/csv/cause_of_death.csv", fileEncoding="UTF-8", row.names=FALSE)
############################################################################
###自殺者数と人口10万人対比の分割を行い,genderとtime_codeをKEYにJOINする###
############################################################################
num <- filter(df, unit=="人")
ratio <- filter(df, unit!="人")
dat <- inner_join(num , ratio ,by=c("gender", "time_code")) %>% select("cause.x","gender", "time_code", "value.x","value.y") %>% rename(cause="cause.x", volume="value.x", ratio="value.y")
#dat
write.csv(dat, "data/csv/cause_of_death2.csv", fileEncoding="UTF-8", row.names=FALSE)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment