日々の記録簿

日々のできごとの記録

日記

全国学力・学習状況調査の都道府県別平均正答率csvファイル

投稿日:

ごく稀に必要になることがあるのですが、どこにあったっけ・・・と探すのがめんどくさいので、アップロードしてしまうことにしました。

全国学力・学習状況調査の都道府県別平均正答率csvファイルです。ただし、文字コードがutf-8なので、Windowsの人はごめんなさい。変数名は半角英数を利用しているので大丈夫ですが、都道府県名が文字化けします。MacかLinuxに乗り換えるか、文字コードを変換するかしてくださいませ。

上から順に、小学校国語、小学校算数・理科、中学校国語、中学校数学・理科です。元ネタは、国立教育政策研究所のHPにある、「平成27年度 全国学力・学習状況調査調査結果のポイント[pdf]」です。96ページあたりからのデータをcsvにしています。

g6japa.csv

g6math.csv

g9japa.csv

g9math.csv

ついでに、Rで各年度の変動係数を計算します。

27年度の全国学力調査では、成績下位の都道府県の成績が向上し、「学力の底上げが図られている」という解釈がなされています(たとえば、この報告書[pdf]の2頁を参照)。

ただ、その時提示されるデータは、なぜか上位3県・下位3県だけで、データの選択が恣意的な印象を受けます。文科省に都合の良いデータを見せているだけなのではないか?という疑問があったので、変動係数を計算し、全体として都道府県間の学力差がどのように変動しているのか検討してみましょう。

# 変動係数を計算する関数の作成。一応、分散の関数も定義してみる
SD <- function(x) sqrt((sum((x - mean(x)) ^ 2)) / length(x))
CV <- function(x) SD(x) / mean(x)

# データの読み込み
g6j <- read.csv("g6japa.csv")
g6m <- read.csv("g6math.csv")
g9j <- read.csv("g9japa.csv")
g9m <- read.csv("g9math.csv")

# 変動係数を計算。
apply(g6j[-1], 2, CV)
apply(g6m[-1], 2, CV)
apply(g9j[-1], 2, CV)
apply(g9m[-1], 2, CV)

出力を含めた場合のものは下記です。

# 出力結果込の場合

apply(g6j[-1], 2, CV)
#       A27        A26        A25     A24max     A24min     A22max     A22min 
#0.03035015 0.02716501 0.04388600 0.02170122 0.02039575 0.02078143 0.01946399 
#       A21        A20        A18        B27        B26        B25     B24max 
#0.02920276 0.04202581 0.01943854 0.04237551 0.05169878 0.05083449 0.04265994 
#    B24min     B22max     B22min        B21        B20        B19 
0.04096120 0.02592489 0.02485219 0.05048079 0.06265173 0.04798661 

apply(g6m[-1], 2, CV)
#       A27        A26        A25     A24max     A24min     A22max     A22min 
#0.02633024 0.02441978 0.02397960 0.03187358 0.02985067 0.03177038 0.03063641 
#       A21        A20        A18        B27        B26        B25     B24max 
#0.02679996 0.03437819 0.02629692 0.04861922 0.03860205 0.04603811 0.03948109 
#    B24min     B22max     B22min        B21        B20        B19        S27 
#0.03779742 0.04943471 0.04974736 0.04405179 0.04659913 0.03726005 0.03924703 
#    S24max     S24min 
#0.04268645 0.04076932 

apply(g9j[-1], 2, CV)
#       A27        A26        A25     A24max     A24min     A22max     A22min 
#0.02193855 0.02011710 0.02360754 0.02397136 0.02343497 0.02633097 0.02508061 
#       A21        A20        A18        B27        B26        B25     B24max 
#0.02778759 0.02570158 0.02208402 0.02706877 0.04112233 0.03202416 0.03444355 
#    B24min     B22max     B22min        B21        B20        B19 
#0.03373192 0.03884508 0.03692167 0.03614300 0.04435290 0.04093524 

apply(g9m[-1], 2, CV)
#       A27        A26        A25     A24max     A24min     A22max     A22min 
#0.03716194 0.03899558 0.04037950 0.04421551 0.04198069 0.05060532 0.04729690 
#       A21        A20        A18        B27        B26        B25     B24max 
#0.04873707 0.05761874 0.04969135 0.06187230 0.04867016 0.07490082 0.06069064 
#    B24min     B22max     B22min        B21        B20        B19        S27 
#0.05864231 0.08102809 0.07613631 0.05808973 0.06546134 0.05696434 0.05348336 
#    S24max     S24min 
#0.05276048 0.05142272 

結果を見ると、確かに変動係数が小さくなってきている教科もあります(たとえば中学校数学A)。

ですが、それ以外の教科は、大きくなったり小さくなったりで、一概に減少傾向にあるとは言えない気がします。

結論としては、文科省の「全体の底上げが図られている」という主張には、やや無理があるんじゃないか?ということです。データが公開されていると、こういう再分析が可能になるところがいいですね。

スポンサーリンク

スポンサーリンク

-日記

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Lenovoのドッキングステーションは何台のディスプレイに出力できるのか?

Lenovoのドッキングステーションを使って、マルチディスプレイ環境を構築するときに気になるのが、同時に何台のディスプレイに出力できるのかという点。2020年現在の情報は、こちらのLenovoのサイト …

X1 carbon gen 10でxf86-video-intelをインストールするといろいろおかしくなる 

タイトルで終わっているが、Thinkpad X1 carbon (gen 10)でxf86-video-intelをインストールしてはいけない。Google Chromeが固まる、VLCで動画が再生で …

Nexus 6とNexus 9 lteにCyanogenmodをインストールした(その後)

Nexus 9 LTEとNexus 6にCyanogenmodをインストールしてしばらく立ったので、現状報告(2015/04/09現在)。 まず、Nexus 6の方は、日常的に使えるレベルに達している …

vim-r-pluginの導入方法

vimからRを使う、vim-r-pluginの紹介。 まあ、vimにこだわりがないなら、RStudio使ったほうが幸せになれると思います。 環境は、Arch Linuxです。 インストール vim-r …

サイトをSSLに移行してみた!(その2)

SSLに移行したのはいいのですが、いくつか問題発見。修正した記録です。 awstatsのログが出力されない awstatsのログが出力されなくなっている。調べてみると、httpd-ssl.confによ …