日本学生支援機構の奨学金

日本学生支援機構で初となる給付型奨学金約2500人を採用されたそうである。

日本学生支援機構奨学金の貸与者数について調べてみると、 平成26年の実績が公表されている。 月ごとに貸与者数に変動があるが、多い時で第一種で約45万人、第二種で85万人が貸与を受けている。 合計で130万人近くが日本学生支援機構奨学金の貸与を受けている。

これに比べて今回の給付型に採用された人は貸与者数の0.2%である。 利子なしの第一種奨学金を借りたくても借りれない人が多くいると考えられる中、給付型の奨学金を借りることはかなり困難であると考えられる。

そもそも、第一種奨学金の貸与者数に比べて第二種奨学金の貸与者数は2倍近くある。 均等な教育機会の均等を確保されるために実施される国(公共)の事業なのに 利子をとる第二種奨学金の貸与者数が多すぎると思う。 そして、財務状況にて損益状況を勘定していることに違和感がある。 個別の法人にして収益を上げる必要があるのか。 民間の事業ではないのだから収益を上げるぐらいなら第一種奨学金の給付者を増やすべきではないかと思う。

詳しいことはわからないが、奨学金貸与事業の損益状況をみると、 事業収益として、学資金利息が378億円に対して、延滞金収入が41億円と10%近くもある。 民間事業ならそれで収益が出て万々歳なのだろうけど、公共事業でこういう状況ってどうなんでしょうかね。

学会名鑑による建築・土木系学会の会員数

日本の学会を調べるのに便利?な学会名鑑というものがある。

分野ごとに学会を調べられるので、土木工学・建築学に絞ってスクレイピングし、 学会の会員種別ごとの人数を調べてみた。 土木学会、日本建築学会がメジャーな学会であることがわかる。 7位には土木学会の学生会員がランクインしており、そのほかの学会は土木学会の学生会員数より少ない会員数ということになる。

まあ、会員種別も77種類あるので、目安程度であるが。。。 というか会員種別ぐらいと統一してほしい。

順位 会員種別 人数 学会名
1 正会員 34384 土木学会
2 正会員(名誉会員・終身正会員含む) 32790 日本建築学
3 正会員 14640 空気調和・衛生工学会
4 正会員 10038 日本測量協会
5 正会員(個人) 7415 地盤工学会
6 正会員 6400 日本コンクリート工学会
7 学生会員 4870 土木学会
8 正会員 4005 日本都市計画学会
9 個人会員 4000 日本科学者会議
10 個人会員 3177 電力土木技術協会
11 個人正会員 2398 プレストレストコンクリート工学会
12 正会員(個人) 2304 日本非破壊検査協会
13 特別会員 2170 日本測量協会
14 正会員 1883 交通工学研究会
15 正会員 1868 砂防学会
16 正会員 1506 日本下水道協会
17 正会員 1355 日本水道協会
18 正会員 1300 日本地すべり学会
19 正会員 1295 都市住宅学会
20 正会員 1283 日本木材学会
21 正会員 1273 日本放射光学会
22 正会員 1151 日本地震工学会
23 継続教育連携会員 1146 日本都市計画学会
24 正会員 1050 日本写真測量学会
25 準会員 1019 日本建築学
26 賛助会員 977 日本下水道協会
27 正会員(一般会員) 938 日本地域学会
28 支部団体会員 927 日本建設機械施工協会
29 正会員 889 日本騒音制御工学会
30 正会員 888 応用生態工学会
31 正会員 862 日本計画行政学
32 特別会員 843 地盤工学会
33 正会員 836 こども環境学
34 個人会員 800 日本太陽エネルギー学会
35 正会員 798 日本不動産学会
36 正会員 778 ダム工学会
37 正会員(終身会員含む) 717 日本航海学会
38 正会員 714 日本地下水学会
39 正会員(法人) 707 日本建築学
40 正会員A 703 日本火災学会
41 正会員(含む終身会員) 700 日本自然災害学会
42 正会員 666 日本福祉のまちづくり学会
43 普通会員 635 日本地図学会
44 正会員 620 日本緑化工学会
45 法人会 599 土木学会
46 第2種正会員(個人会員) 569 日本鋼構造協会
47 正会員B 565 日本火災学会
48 賛助会員 563 日本水道協会
49 賛助会員 478 空気調和・衛生工学会
50 正会員 461 日本交通学会
51 特別会員 456 土木学会
52 特別会員 413 日本下水道協会
53 特別会員 395 日本水道協会
54 正会員 394 日本風工学会
55 個人会員 392 日本地方自治学会
56 個人会員 378 日本エアロゾル学会
57 学生会員 376 空気調和・衛生工学会
58 学生会員 376 日本都市計画学会
59 通常会員 374 日本サンゴ礁学会
60 正会員 368 日本災害復興学会
61 正会員 355 実践教育訓練研究協会
62 第2種団体会員 337 日本コンクリート工学会
63 正会員 335 日本熱物性学会
64 学生会員 328 日本コンクリート工学会
65 正会員 321 日本インテリア学会
66 正会員 320 日本沿岸域学会
67 正会員 320 人間・環境学
68 会員 316 歴史地震研究会
69 団体会員 311 環境技術学会
70 正会員 310 日本女性科学者の会
71 個人会員 308 産業考古学会
72 D種会員 308 日本非破壊検査協会
73 個人会員 303 交通史学会
74 個人会員 301 コミュニティ政策学会
75 正会員 300 都市環境デザイン会議
76 正会員 288 日本図学会
77 正会員 279 日本生活学
78 一般会員 273 日本産業教育学会
79 正会員 270 日本活断層学会
80 一般会員 265 日本記号学
81 正会員(国内) 253 土壌物理学会
82 正会員 250 社叢学会
83 個人会員 244 森林利用学会
84 普通会員 243 比較文明学会
85 賛助会員 240 日本建築学
86 会員 238 環境システム計測制御学会
87 一般会員 232 総合人間学会
88 正会員 225 日本雪工学会
89 普通会員 221 日本生活文化史学会
90 個人正会員 220 環境経営学
91 団体会員 217 日本建設機械施工協会
92 正会員 214 環境技術学会
93 購読会員 208 砂防学会
94 一般会員 204 日本国際地域開発学会
95 賛助会員 203 砂防学会
96 法人会 200 電力土木技術協会
97 正会員 195 日本付着生物学会
98 正会員 195 日本民俗建築学
99 賛助会員 194 日本都市計画学会
100 特別会員 192 交通工学研究会
101 個人会員 180 国際ジオシンセティックス学会日本支部
102 正会員 170 交通権学会
103 正会員 170 資産評価政策学会
104 団体会員C 165 日本騒音制御工学会
105 学生会員 153 こども環境学
106 名誉会員 150 地盤工学会
107 正会員、学生会員、名誉会員、顧問、名誉顧問 150 日本景観学会
108 法人会 142 日本鋼構造協会
109 学生会員 137 交通工学研究会
110 学生会員 137 日本サンゴ礁学会
111 学生会員 132 日本航海学会
112 正会員 132 日本庭園学会
113 一般会員 130 農村建築研究会
114 個人会員 126 日本オフィス学会
115 賛助会員 125 都市住宅学会
116 学生会員 121 日本計画行政学
117 正会員 114 アジア文化造形学会
118 学生会員 114 砂防学会
119 学生会員 112 日本非破壊検査協会
120 正会員 111 観光まちづくり学会
121 個人会員 110 日本建設機械施工協会
122 法人会 108 日本地震工学会
123 学生会員 108 日本生活学
124 学生会員 107 応用生態工学会
125 学生会員 107 日本地震工学会
126 準会員 106 日本鋼構造協会
127 一般会員 100 自然環境復元学会
128 市民会員 100 社叢学会
129 賛助会員 99 日本火災学会
130 賛助会員 98 日本騒音制御工学会
131 賛助会員 94 日本地すべり学会
132 正会員(個人) 94 北海道都市地域学会
133 賛助会員 88 日本木材学会
134 C種会員 85 日本非破壊検査協会
135 学生会員 84 日本緑化工学会
136 シニア会員 82 ダム工学会
137 賛助会員 80 日本不動産学会
138 正会員 77 日本大ダム会議
139 正会員(学生会員(大学院生)) 70 日本地域学会
140 学生会員 69 日本エアロゾル学会
141 賛助会員 68 プレストレストコンクリート工学会
142 学生会員 63 日本福祉のまちづくり学会
143 会友 61 日本サンゴ礁学会
144 協力会員 60 社叢学会
145 特別会員 59 日本地下水学会
146 正会員 58 日本地すべり学会
147 A種会員 56 日本非破壊検査協会
148 特別会員 55 日本鋼構造協会
149 学生会員 55 日本自然災害学会
150 個人正会員 55 日本マクロエンジニアリング学会
151 賛助会員 55 日本緑化工学会
152 大学 53 海洋深層水利用学会
153 準会員 53 日本インテリア学会
154 団体会員 53 日本木材学会
155 賛助会員 52 ダム工学会
156 購読会員 52 日本活断層学会

会員数50人以下は省略

ついでに会員種別一覧も載せておこう。

正会員
学生会員
名誉会員
賛助会員
大学
公的機関
民間
その他
団体会員
個人正会員
法人正会員
会員
学生会員(大学院生)
法人会
終身会員
特別会員
学生会員(大学院修士課程)
学生会員(大学院修士課程以外)
海外特別会員
個人会員
準会員
NPO会員
購読会員
一般会員
市民会員
協力会員
維持会員
正会員(個人)
正会員(法人)
セメント製造会社
学生会員(修士以上)
顧問
名誉会長
シニア会員
協力法人
正会員(国内)
正会員(海外)
学生会員(国内)
学生会員(海外)
普通会員
学生会員(大学院生のみ)
正会員A
正会員B
正会員、学生会員、名誉会員、顧問、名誉顧問
団体会員、賛助会員
支部団体会員
正会員(名誉会員・終身正会員含む)
正会員(終身会員含む)
第2種正会員(個人会員)
学生会員(大学院生・修士課程)
寄贈
第1種団体会員
第2種団体会員
通常会員
外国会員
会友
正会員(含む終身会員)
団体正会員
賛助団体会員
団体会員B
団体会員C
団体会員D
準会員(うち大学院生)
正会員(一般会員)
正会員(学生会員(大学院生))
継続教育連携会員
国外会員
名誉員
A種会員
B種会員
C種会員
D種会員
正会員(院生)
特別賛助会員
学生会員(大学院生)
学生会員(学部学生を除く)
正会員(団体)

建設総合統計の可視化

国土交通省では、国内の建設活動を出来高ベースで把握することを目的に建設総合統計を毎月発表している。 気が向いたので、ちょっと可視化してみた。 使用するデータは2017/9/19に発表された2010年4月から2017年7月分までのデータを利用する。

都道府県別の毎年4月のデータの推移から下記のことがわかる

f:id:jerrarrdan:20170920050348p:plain

東北三県に着目し出来高および東北3県に占める各県の出来高割合の推移をみると、 東日本大震災の復興のため3県とも建設需要が増加している。

特に宮城県で増加しており以下のようなことが考えられる。

  • 福島県原発避難なんかもあり復興が進まない
  • 東北の中心拠点である宮城県に建設(復興)が集中した
  • 宮城県の建物被害が大きかった

宮城県の震災前 約500億円 –> 2000億円以上 と約4倍の建設特需はすごいと思う。

f:id:jerrarrdan:20170920050456p:plain

f:id:jerrarrdan:20170920050712p:plain

建設動向としては、 復興関連の需要は減少し、東京オリンピックに向けた需要が増加中といえる。

毎年12月の出来高の増加率の推移をみると、2013年はほとんどの都道府県で出来高が増加しており、 安倍政権になって建設需要が急増したといえる。 f:id:jerrarrdan:20170920053945p:plain

都道府県別の月別の出来高増加率の推移をみると、年間を通して発注・完成時期がある程度平準化している地域とそうでない地域があるのがわかる。 国交省では施工時期の平準化を進めているようであるが、これを見ればその進捗状況が一目でわかるといえる。

青森県は、雪の影響で一時期に発注が集中すること等があるのか極端に増減がある。

f:id:jerrarrdan:20170920054212p:plain

sf::read_sf()とrgdal::readOGR()とtmaptools::read_shp()の速度比較

Rでシェープファイルデータを読込むための関数でどれが一番速度が速いか比較する。

library(sf)
library(tmaptools)
library(rgdal)
library(microbenchmark)
rfile <- system.file("shape/nc.shp", package="sf")

microbenchmark(sf::read_sf(rfile), 
               sf::st_read(rfile, quiet=T),
               rgdal::readOGR(rfile, verbose=F),
               tmaptools::read_shape(rfile),
               times=10)
Unit: milliseconds
                               expr        min         lq      mean
                 sf::read_sf(rfile)   8.671537   8.976245  14.69445
      sf::st_read(rfile, quiet = T)   6.392833   6.685836  15.94281
 rgdal::readOGR(rfile, verbose = F) 567.662413 597.656352 691.19212
       tmaptools::read_shape(rfile) 583.133058 596.592328 654.66730
     median         uq        max neval cld
  10.928342  14.948451   36.55517    10  a 
   6.852349   7.603736   54.89468    10  a 
 623.355303 678.476535 1090.38659    10   b
 626.761277 651.405453  836.15833    10   b

ということでsfパッケージ一択でした。

microbenchmark(read_sf(rfile),
               st_read(rfile, quiet=T, stringsAsFactors = F),
               times=20)
Unit: milliseconds
                                            expr      min       lq
                                  read_sf(rfile) 8.032669 8.185589
 st_read(rfile, quiet = T, stringsAsFactors = F) 5.793233 5.904619
     mean   median       uq       max neval cld
 8.703159 8.319064 9.221673 11.538136    20   b
 6.202890 6.021859 6.422662  8.131218    20  a 

毎回引数指定めんどくさいかもしれないが、大規模なデータを読み込む場合はst_read()がよいみたい。

もっと早く読み込める関数があったら教えてください。

ついでにggplot()とtmap()の速度について比較してみる。

library(ggplot2)
library(tmap)
nc <- st_read(rfile, quiet=T, stringsAsFactors = F)

microbenchmark(ggplot(nc)+geom_sf(aes(fill=CNTY_)), 
               tm_shape(nc)+tm_polygons(col="CNTY_"))
Unit: microseconds
                                      expr      min        lq      mean
   ggplot(nc) + geom_sf(aes(fill = CNTY_)) 2419.920 2465.9850 2947.4016
 tm_shape(nc) + tm_polygons(col = "CNTY_")  114.408  128.1895  214.9879
   median       uq       max neval cld
 2528.097 2605.502 24483.139   100   b
  157.263  175.387  6131.546   100  a 

ggplot2は使い慣れているから便利だけど、やはり描画速度に難があるみたい。 特に空間情報データの作図の際にはその傾向が強いと思う。

mapview::mapview()の引数オプション

mapview::mapview()で利用する引数に関するメモ。

library(mapview)
library(sf)

nc <- read_sf(system.file("shape/nc.shp", package="sf"))

mapview(nc, 
        zcol="AREA",                      # 色分けするデータ(列)
        #color="blue",                    # ラインの色
        #col.regions="red",               # ポリゴンの色
        cex=12,                           # ポイントデータの大きさ(default:6)
        na.color="white",                 # NAの色
        lwd = 2,                          # ラインの太さ
        map.types="OpenStreetMap.DE",     # ベースマップ
        layer.name="test",                # レイヤーの名前(右下に表示されるレイヤ名)
        #alpha=0.5,                       # ラインの透過率(0:透過、1:透過なし)
        #alpha.regions=0.5,               # ポリゴンの透過率
        #na.alpha=0.4                     # NA値の透過率
        popup=popupTable(nc[,"AREA"]),    # 対象魏小目鳥をクリックした際に表示する項目
        label=nc$AREA %>% as.character(), # マウスオーバした際に表示されるラベル
        legend=T                          # 凡例を表示するかどうか
        )

sfオブジェクトをggplot()する場合はgeometryカラムの名前に注意

geom_sf()関数を利用するにあたり geometryカラムがgeometryではなくgeomの場合にはエラーが出た。
解決方法のメモ。

library(sf)
library(ggplot2)
library(spData)
data(world)
head(world)
Simple feature collection with 6 features and 10 fields
geometry type:  MULTIPOLYGON
dimension:      XY
bbox:           xmin: -73.41544 ymin: -55.25 xmax: 75.15803 ymax: 42.68825
epsg (SRID):    4326
proj4string:    +proj=longlat +datum=WGS84 +no_defs
  iso_a2            name_long     continent region_un       subregion
1     AF          Afghanistan          Asia      Asia   Southern Asia
2     AO               Angola        Africa    Africa   Middle Africa
3     AL              Albania        Europe    Europe Southern Europe
4     AE United Arab Emirates          Asia      Asia    Western Asia
5     AR            Argentina South America  Americas   South America
6     AM              Armenia          Asia      Asia    Western Asia
               type   area_km2      pop  lifeExp gdpPercap
1 Sovereign country  652270.07 31627506 60.37446  1844.022
2 Sovereign country 1245463.75 24227524 52.26688  6955.960
3 Sovereign country   29694.80  2893654 77.83046 10698.525
4 Sovereign country   79880.74  9086139 77.36817 63830.700
5 Sovereign country 2784468.59 42980026 76.15861 18872.967
6 Sovereign country   28656.60  3006154 74.67571  7706.133
                            geom
1 MULTIPOLYGON(((61.210817091...
2 MULTIPOLYGON(((16.326528354...
3 MULTIPOLYGON(((20.590247430...
4 MULTIPOLYGON(((51.579518670...
5 MULTIPOLYGON(((-65.5 -55.2,...
6 MULTIPOLYGON(((43.582745802...
ggplot(world)+geom_sf()

Error in FUN(X[[i]], ...) : object 'geometry' not found

オブジェクトのクラスはdata.frame, sfとなっているにもかかわらず、 先ほどのコードはエラーとなる。

原因はgeometryカラムの名前がgeomとなっていることである。

githubのggplot2にissueとして挙げられており、 geom_sf()にデータを明示的に与える必要があるようである。 もしくは下記のようにaes()geometry=geomとすることで解決できる。

class(world)
[1] "sf"         "data.frame"
names(world)
 [1] "iso_a2"    "name_long" "continent" "region_un" "subregion"
 [6] "type"      "area_km2"  "pop"       "lifeExp"   "gdpPercap"
[11] "geom"     
ggplot(world)+geom_sf(aes(geometry=geom))

f:id:jerrarrdan:20170812210937p:plain

なお、geometryカラムの名前がgeometryの場合は問題なくggplot()により作図できる。

nc <- read_sf(system.file("shape/nc.shp", package="sf"))
names(nc)
 [1] "AREA"      "PERIMETER" "CNTY_"     "CNTY_ID"   "NAME"     
 [6] "FIPS"      "FIPSNO"    "CRESS_ID"  "BIR74"     "SID74"    
[11] "NWBIR74"   "BIR79"     "SID79"     "NWBIR79"   "geometry" 
ggplot(nc)+geom_sf()

f:id:jerrarrdan:20170812210957p:plain

facet_wrap()利用時にすべてのデータを表示させておく

ggplot2においてfacet_wrap()関数は便利であり利用頻度が高いが、 当該分類データ以外のデータを背景として表示させ、 分布状況をより明快にしたい場合がある。

library(ggplot2)
library(dplyr)
mtcars %>%
  ggplot(aes(disp, mpg)) +
  geom_point()+
  facet_wrap(~cyl)

f:id:jerrarrdan:20170728235056p:plain

このようなときには引数data=facet_wrap()で分類する項目を NULL としたデータを与えることで グラフを作成することが可能となる。

mtcars %>%
  ggplot(aes(disp, mpg)) +
  geom_point(data = . %>% mutate(cyl=NULL), color="darkgrey")+
  geom_point()+
  facet_wrap(~cyl)

f:id:jerrarrdan:20170728235119p:plain