日々の記録簿

日々のできごとの記録

日記

全国学力・学習状況調査の都道府県別平均正答率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

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

関連記事

Rを勉強するためにいろいろ寄り道をしていた

Rをもっと勉強したいなと思って、『R言語徹底解説』を買ってみました。・・・が、ちんぷんかんぷん。クラスとか、オブジェクト指向とか、遅延評価とか、さっぱりわかりません。 これはいかんと思い、ここ2ヶ月ほ …

awstatsでアイコンが表示されない

私は、アクセス解析にawstatsを利用しています。 なかなか便利なのですが、一つだけ気になっていたのが、アイコン画像が表示されないことです。ほとんど実害はないので半年ほど放置していましたが、この度、 …

your profile could not be opened correctly (chrome / choromium)に悩まされる

1ヶ月ほど前から、Google Chromeを開いたとき、your profile could not be opened correctly というエラーがでるようになりました。その際、いろいろ試行 …

ICU 59.1にしたらintsvyが動かない

状況 ICUを59.1にアップデートしたらintsvyが動かなくなった。他にもいくつかRのlibraryが動いていない気がする。ちなみに環境はArch Linux。 対策 AURからicu58をインス …

kernel 4.0.1-1で、Vmware Playerが起動しない

Arch Linuxでカーネルを4.0.1-1にアップデートしたら、Vmware Playerが起動しませんでした。 エラーを見ると、 GCC GNU C Compiler (gcc) version …