【R】都道府県別 献血者数

総務省統計局が発表している「都道府県・市区町村のすがた(社会・人口統計体系)」から、都道府県別の献血者数と人口1万人当たりの献血者数を示してみたいと思います。2018年のデータです。

都道府県 献血者数 献血者数_人口1万あたり
北海道 248634 478
青森 44575 353
岩手 42008 338
宮城 86674 379
秋田 34117 345
山形 37663 345
福島 75932 407
茨城 95797 335
栃木 80894 418
群馬 84474 438
埼玉 226617 317
千葉 218394 357
東京 542703 408
神奈川 298903 333
新潟 86908 387
富山 36425 350
石川 41981 375
福井 28013 365
山梨 32012 393
長野 72234 352
岐阜 64388 323
静岡 123606 341
愛知 268142 364
三重 55504 312
都道府県 献血者数 献血者数_人口1万あたり
滋賀 47580 342
京都 102423 400
大阪 370054 426
兵庫 199017 366
奈良 45712 342
和歌山 40622 432
鳥取 21708 391
島根 19884 297
岡山 75932 406
広島 121333 437
山口 47010 347
徳島 26497 363
香川 34526 364
愛媛 49750 369
高知 27237 389
福岡 197152 397
佐賀 30131 374
長崎 53460 404
熊本 71174 412
大分 46181 410
宮崎 40015 375
鹿児島 61440 387
沖縄 52515 375
library(leaflet)
library(knitr)
library(kableExtra)
library(dplyr)
library(tidyr)
library(stringr)

dat <- read.csv("http://www.dinov.tokyo/Data/JP_Pref/Pref_data.csv", header = TRUE, fileEncoding="UTF-8")
col_start <- 0.2
col_end <- 0.0

dat$献血者数_人口1万<-round(dat$献血者数/dat$総人口*10000)

table_df<-data.frame(都道府県=dat$都道府県, 献血者数=dat$献血者数, 献血者数_人口1万あたり=dat$献血者数_人口1万)

datc_k <- cut(dat$献血者数, hist(dat$献血者数, plot=FALSE)$breaks, right=FALSE)
datc_kcol <- rainbow(length(levels(datc_k)), start = col_start, end=col_end)[as.integer(datc_k)]
datc_m <- cut(dat$献血者数_人口1万, hist(dat$献血者数_人口1万, plot=FALSE)$breaks, right=FALSE)
datc_mcol <- rainbow(length(levels(datc_m)), start = col_start, end=col_end)[as.integer(datc_m)]

library(NipponMap)
windowsFonts(JP4=windowsFont("Biz Gothic"))
windows(width=1600, height=800)

png("0plot1.png", width = 1600, height = 800)
par(family="JP4")
layout(matrix(1:2, 1, 2))
JapanPrefMap(datc_kcol, main="献血者数")
legend("bottomright", fill=rainbow(length(levels(datc_k)), start = col_start, end=col_end), legend=names(table(datc_k)))
JapanPrefMap(datc_mcol, main="献血者数_人口1万")
legend("bottomright", fill=rainbow(length(levels(datc_m)), start = col_start, end=col_end), legend=names(table(datc_m)))
dev.off()

library(clipr)
t1=kable(table_df[c(1:24),], align = "c", row.names=FALSE) %>%
  kable_styling(full_width = F) %>%
  column_spec(1, bold = T) %>%
  collapse_rows(columns = 1, valign = "middle") 
t2=kable(table_df[c(25:47),], align = "c", row.names=FALSE) %>%
  kable_styling(full_width = F) %>%
  column_spec(1, bold = T) %>%
  collapse_rows(columns = 1, valign = "middle") 
paste(c('<table><tr valign="top"><td>', t1, '</td><td>', t2, '</td><tr></table>'), sep = '') %>% write_clip

Add a Comment

メールアドレスが公開されることはありません。