【R】都道府県別 大学数

総務省統計局が発表している「都道府県・市区町村のすがた(社会・人口統計体系)」から、都道府県別の大学数を表示します。国立大学と公立大学を合わせ国公立大学として、私立大学と別々に示します。2008年のデータです。

都道府県 国公立大学数 私立大学数
北海道 17 24
青森 5 6
岩手 3 3
宮城 4 11
秋田 5 2
山形 3 2
福島 5 5
茨城 5 5
栃木 1 8
群馬 9 9
埼玉 3 26
千葉 1 26
東京 22 117
神奈川 6 23
新潟 5 13
富山 3 3
石川 8 7
福井 3 2
山梨 7 5
長野 3 6
岐阜 7 8
静岡 4 11
愛知 12 42
三重 3 6
都道府県 国公立大学数 私立大学数
滋賀 4 4
京都 9 25
大阪 12 48
兵庫 14 35
奈良 7 5
和歌山 3 1
鳥取 1 1
島根 3 0
岡山 3 14
広島 13 14
山口 5 7
徳島 2 2
香川 3 2
愛媛 3 3
高知 3 1
福岡 11 27
佐賀 1 1
長崎 7 6
熊本 3 8
大分 3 3
宮崎 5 4
鹿児島 2 4
沖縄 5 4
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

table_df<-data.frame(都道府県=dat$都道府県, 国公立大学数=dat$国公立大学数, 私立大学数=dat$私立大学数)

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$私立大学数, hist(dat$私立大学数, 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("plot1.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="私立大学数")
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

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