瓢箪鯰的な男がR初級者から中級者になるのを記すブログ

掴みどころのないオッサンのR勉強録。目標は中級者。 その他雑記なども

PISA2006の分析 -親の属性と子の学力①-

いつもお世話になっているフォロワーさんがこんなことを話していたので、
ちょっと簡単に分析してみましょうか、ってのがお題です。




PISAとは?

こちらのサイトが詳しいのだが、要するに世界的な学力調査試験である。
確か2006年は57の国と地域から、40万人くらい受けてた。
日本からは6000人が参加。

PISAのデータの何が素晴らしいか

 まず挙げられるのが、情報量の多さである。
ここに質問用紙があるが、本人への質問はともかく、
親の職業や学歴、家にある本の大まかな数、
携帯電話や車の数まで聞いている。
さらにこれらは、ひとりひとりのデータをOECDのサイトから
ダウンロードすることが可能で、各人が好きに分析できるという、
公的データとしては稀有なものなのだ。

分析の方法

 単純だが、最初は親の学歴などで子供をグループ分けして
そのグループ間で差があるか見ていくことにする。
で、分析をしていく過程で、何となく
「こういうことに気を付けてやってます」ということを書ければヨシかな、と。

まずはデータを読んで切り取る

 まずデータを読まないと仕方がないので、読ませてみる。
以下、Cドライブの直下にデータがあるものと仮定して、Rのコードを書いてみる。

##########PISA2006の読み込み#############
setwd(C:/)	#データのあるディレクトリに移動
moto<-readLines("INT_Stu06_Dec07.txt")	#データを読み込む
##########ここまで読み込み##########

motoというオブジェクトに全部のデータを読むことが出来たら、
次は日本のデータを切り出してくる。
こちらのコードブックを読むと、16列目から18列目に国のコードがあるので
ここが「JPN」のものだけ切り出してくる。

jpn2006<-subset(moto,substr(16,18)=="JPN") #日本だけ切り出す
kuni<-as.factor(substr(jpn2006,16,18))	#16列目から18列目までを切り出して、factor型でkuniへ代入
summary(kuni)	#日本だけ切り出せているか確認

結果は「JPN 5952」となるので、無事日本だけ抜き出せたことがわかる。
面倒でも狙った通りのデータが切り出せたかは、その都度確認しないといけない。

続きはまた後日。