# TIMSS2011のデータで遊んでみる(3)

データの種類

データの種類 ファイル名 コードブック
学校質問紙 acgjpnm5 ACGTMSM5
算数理科調査 asajpnm5 ASATMSM5
児童質問紙 asgjpnm5 ASGTMSM5
家庭背景 ASHTMSM5
国内信頼性 asrjpnm5 ASRTMSM5
教師-児童リンクファイル astjpnm5 ASTTMSM5
教師質問紙 atgjpnm5 ATGTMSM5

各校の学級規模と学年学級数データを作る

学校データ

ファイルの読み込み

acgjpnm5 <- read.csv("acgjpnm5.csv")

使う変数(項目)

元変数名 新変数名 内容 コーディング
IDSCHOOL idschool 学校番号 数値
ACBG01 sc.n.pupil 全校児童数 数値
ACBG02 gr.n.pupil 学年児童数 数値
ACBG03A ses.lo SES低 1:0-10%,2:11-25%,3:26-50%,4:50%超
ACBG03B ses.hi SES高 1:0-10%,2:11-25%,3:26-50%,4:50%超
ACBG04 jap.moth.tg 日本語母語割合 1:90%超,2:76%以上,3:51%以上,4:26%以上,5:25%以下
ACBG05A jinko 区市町村人口 1:50万人超,2:10万人超,3:5万人超,4:1万5千人超,5:3千人超,6:3千人以下
ACBG05B chiiki 地域特徴 1:人口密集大都市,2:大都市隣接地域または郊外,3:中位の市か大きな町,4:小さな町か村,5:へき地
ACBG05C shotoku 平均所得 1:高い,2:中くらい,3:低い

これらの変数に限定したデータに作り直す

scbk <- acgjpnm5[c("IDSCHOOL","ACBG01","ACBG02","ACBG03A","ACBG03B","ACBG04","ACBG05A","ACBG05B","ACBG05C")]

# 変数名振り直し
colnames(scbk) <- c("idschool","sc.n.pupil","gr.n.pupil","ses.lo","ses.hi","jap.moth.tg","jinko","chiiki","shotoku")

head(scbk)
##   idschool sc.n.pupil gr.n.pupil ses.lo ses.hi jap.moth.tg jinko chiiki
## 1        1       1059        189      2      9           1     2      1
## 2        2        957        158      2      2           1     1      1
## 3        3        847        142      1      4           1     1      1
## 4        4        845        141      1      4           1     1      1
## 5        5        724        137      3      1           1     1      1
## 6        6        788        132      1      1           1     1      1
##   shotoku
## 1       2
## 2       2
## 3       1
## 4       1
## 5       3
## 6       2

csvに保存

write.csv(scbk,"scbk.csv")

教師データ

教師質問紙データの読み込み

atgjpnm5 <- read.csv("atgjpnm5.csv")

使う変数(項目)

元変数名 新変数名 内容 コーディング
IDSCHOOL idschool 学校番号 数値
IDTEALIN idtealin 教師IDとリンク 数値
IDTEACH idteach 教師番号 数値
ATBG01 keiken 教職経験年数 数値
ATBG10A t.kyodo.1 他の教師と特定のトピックについての教え方について話し合う 1:まったく,または,ほとんどない,2:月に2-3回,3:週に1-3回,4:毎日またはほとんど毎日
ATBG10B t.kyodo.2 教材の計画や準備に一緒に取り組む 1:まったく,または,ほとんどない,2:月に2-3回,3:週に1-3回,5:毎日またはほとんど毎日
ATBG10C t.kyodo.3 自分の指導経験で得たことを共有する 1:まったく,または,ほとんどない,2:月に2-3回,3:週に1-3回,6:毎日またはほとんど毎日
ATBG10D t.kyodo.4 よりよい指導を行うために他の先生の授業を見学する 1:まったく,または,ほとんどない,2:月に2-3回,3:週に1-3回,7:毎日またはほとんど毎日
ATBG10E t.kyodo.5 新しいアイディアに一緒に取り組む 数値
ATBG12A cl.n.pupil 調査対象学級の児童数 数値
ATBG12B uchi.4nen 調査対象学級における4年生の数 数値
ATBG13 jap.konnan 日本語会話理解が困難な児童数 数値
ATBG14A tch.sbj.koku 国語を教えている 1:はい,2:いいえ
ATBG14B tch.sbj.san 算数を教えている 1:はい,2:いいえ
ATBG14C tch.sbj.rika 理科を教えている 1:はい,2:いいえ

これらの変数に限定したデータに作り直す

kyoshi <- atgjpnm5[c("IDSCHOOL","IDTEALIN","IDTEACH","ATBG01","ATBG10A","ATBG10B","ATBG10C","ATBG10D","ATBG10E","ATBG12A","ATBG12B","ATBG13","ATBG14A","ATBG14B","ATBG14C")]

変数名振り直し

colnames(kyoshi) <- c("idschool","idtealin","idteach","keiken","t.kyodo.1","t.kyodo.2","t.kyodo.3","t.kyodo.4","t.kyodo.5","cl.n.pupil","uchi.4nen","jap.konnan","tch.sbj.koku","tch.sbj.san","tch.sbj.rika")
head(kyoshi)
##   idschool idtealin idteach keiken t.kyodo.1 t.kyodo.2 t.kyodo.3 t.kyodo.4
## 1        1    10101     101      3         3         3         2         2
## 2        2    20101     201      5         4         3         3         2
## 3        3    30101     301     18         2         3         3         1
## 4        4    40101     401      3         3         3         2         1
## 5        5    50101     501     28         2         2         4         1
## 6        6    60101     601     19         3         3         3         2
##   t.kyodo.5 cl.n.pupil uchi.4nen jap.konnan tch.sbj.koku tch.sbj.san
## 1         2         37        37        999            1           1
## 2         1         32        32        999            1           1
## 3         2         30        30        999            1           1
## 4         2         35        35        999            1           1
## 5         2         33        33        999            1           1
## 6         2         33        33        999            1           1
##   tch.sbj.rika
## 1            1
## 2            1
## 3            1
## 4            1
## 5            1
## 6            1

csvに保存

write.csv(kyoshi,"kyoshi.csv")

学級規模等のデータ作成

使うデータ

# 分析対象校リスト
school <- read.csv("school.csv")

# 分析対象学級リスト
class <- read.csv("teacher.csv")

# 調査対象校の情報
scbk <- read.csv("scbk.csv")

# 調査対象学級(教師)の情報
kyoshi <- read.csv("kyoshi.csv")

調査対象校の情報と調査対象学級の情報を分析対象校だけに絞り込む

schl.scbk <- merge(school, scbk, by="idschool")
schl.scbk <- schl.scbk[,c(-2,-3)]

class.kyoshi <- merge(class, kyoshi, by="idteach")
class.kyoshi <- class.kyoshi[,c(-2,-3)]


schl.cls <- merge(schl.scbk, class.kyoshi, by="idschool")

head(schl.cls)
##   idschool sc.n.pupil gr.n.pupil ses.lo ses.hi jap.moth.tg jinko chiiki
## 1        1       1059        189      2      9           1     2      1
## 2        2        957        158      2      2           1     1      1
## 3        3        847        142      1      4           1     1      1
## 4        4        845        141      1      4           1     1      1
## 5        5        724        137      3      1           1     1      1
## 6        6        788        132      1      1           1     1      1
##   shotoku idteach idtealin keiken t.kyodo.1 t.kyodo.2 t.kyodo.3 t.kyodo.4
## 1       2     101    10101      3         3         3         2         2
## 2       2     201    20101      5         4         3         3         2
## 3       1     301    30101     18         2         3         3         1
## 4       1     401    40101      3         3         3         2         1
## 5       3     501    50101     28         2         2         4         1
## 6       2     601    60101     19         3         3         3         2
##   t.kyodo.5 cl.n.pupil uchi.4nen jap.konnan tch.sbj.koku tch.sbj.san
## 1         2         37        37        999            1           1
## 2         1         32        32        999            1           1
## 3         2         30        30        999            1           1
## 4         2         35        35        999            1           1
## 5         2         33        33        999            1           1
## 6         2         33        33        999            1           1
##   tch.sbj.rika
## 1            1
## 2            1
## 3            1
## 4            1
## 5            1
## 6            1
# csvファイルに保存
write.csv(schl.cls,"schl.cls.csv")

ここからスプレッドシートで作業

  • gr.n.pupilと義務標準法の基準から推定した学級規模と,cl.n.pupilとに大きな隔たりのある場合がある。
  • このような隔たりは,教師一人がソロで学級の一部児童を抜き出して少人数指導を実施しているなどの場合があるためと考えられる。
  • 推定された学級規模と実際の学級規模が±3の範囲の学校は分析対象校とする。
  • 国内で実施されているの地方独自の学級編制の仕組みを考慮し,35人,33人,30人学級が実施された場合の学級規模を求める。
  • 35人,33人,30人学級が実施された場合に推定される学級規模と実際の学級規模が±3の範囲の学校は分析対象校とする。
  • これらの学校は「少人数学級実施校」として扱う。
  • gr.n.pupil>cl.n.pupilの学校は分析対象外とする。
  • 極小規模の学校を除外し,学級規模20人以上を分析対象とする。
  • 同一校にもかかわらず学級規模に±3以上の差のある学校を除外する。
  • 以上の基準によって29学級を除外し128学級を分析対象とする。
  • これらの分析対象は学校の重複はない。
  • 学年学級数(gr.n.cl)を特定して変数を追加し,csvで保存する。