学校データ(クラスサイズとSES)のデータの整形

データを読み込む

library(readxl)
hensei2012 <- read_excel("191023_Hensei2012.xlsx", sheet = 1)
setwd("/Users/koyo/Dropbox/000078_CSKAKEN/01_CSNC")
hensei2013 <- read_excel("sho_csnc.xlsx", sheet = 1)
setwd("/Users/koyo/Dropbox/000078_CSKAKEN/191023_CS_SES")

データを整形する

colnames(hensei2012) <- c("shu", "city", "schl", "schlname", "n.g1", 
                          "v01", "v02", "nc.g1", "csmean.g1")
hensei2012 <- subset(hensei2012, v01 != "対象外") 
hensei2012 <- subset(hensei2012, v01 != "複式")
hensei2012 <- hensei2012[c("schlname", "nc.g1", "csmean.g1")]
hensei2012$nc.g1 <- as.numeric(hensei2012$nc.g1)
hensei2012$csmean.g1 <- as.numeric(hensei2012$csmean.g1)

hensei2013 <- hensei2013[,-c(9:10)]

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
csnc.6y <- full_join(hensei2013, hensei2012, by = "schlname")
csnc.6y <- csnc.6y[,c(1:8, 19:20, 9:18)]

SESデータを結合する

setwd("/Users/koyo/Dropbox/191004_SES_Trial/000_Gakku_SES")
ses <- read.csv("Gakku_SES.csv", fileEncoding = "Shift_JIS", stringsAsFactors=FALSE)
setwd("/Users/koyo/Dropbox/000078_CSKAKEN/191023_CS_SES")
ses <- ses[c(5:13)]
colnames(ses) <- c("schlname", "setai.n", "nenshu.m", "nenshu.sd", 
                   "sotsu.n", "tan.n", "dai.n", "tan.p", "dai.p")

csnc.ses <- full_join(csnc.6y, ses, by = "schlname")
write.csv(csnc.ses, "csnc.ses.csv", fileEncoding = "Shift_JIS")

学力データの整形

NRTのデータを読み込む

setwd("/Users/koyo/Dropbox/000078_CSKAKEN/04_NRT/SY2018")
nrt.all <- read.csv("nrt.csv", fileEncoding = "Shift_JIS")
setwd("/Users/koyo/Dropbox/000078_CSKAKEN/191023_CS_SES")

国語だけを取り出す

nrt.koku <- nrt.all %>%
            dplyr::select(c("renban", "sho.sid",
                            "koku.ss.1213", #1-2年生追加
                            "koku.ss.1314", 
                            "koku.ss.1415", 
                            "koku.ss.1516",  
                            "koku.ss.1617",
                            "koku.ss.1718" #6-7年生追加
                            ))

colnames(nrt.koku) <- c("renban", "sid",
                        "g12.koku",
                        "g23.koku",
                        "g34.koku",
                        "g45.koku",
                        "g56.koku",
                        "g67.koku"
                        )

nrt.koku <- na.omit(nrt.koku)

nrt.koku <- nrt.koku %>%
  mutate(id = row_number())

社会だけを取り出す

nrt.shak <- nrt.all %>%
            dplyr::select(c("renban", "sho.sid",
                            "shak.ss.1415", 
                            "shak.ss.1516",  
                            "shak.ss.1617",
                            "shak.ss.1718" #6-7年生追加
                            ))

colnames(nrt.shak) <- c("renban", "sid",
                        "g34.shak",
                        "g45.shak",
                        "g56.shak",
                        "g67.shak"
                        )

nrt.shak <- na.omit(nrt.shak)

nrt.shak <- nrt.shak %>%
  mutate(id = row_number())

NRTデータのある学校の番号を取り出す

nrt.koku.schl <- data.frame(unique(nrt.koku$sid)); colnames(nrt.koku.schl) <- c("sid.new")
nrt.shak.schl <- data.frame(unique(nrt.shak$sid)); colnames(nrt.shak.schl) <- c("sid.new")

分析対象校のクラスサイズなどの表を作る

統廃合校を除外するなどの前処理

csnc.ses.taisho <- dplyr::filter(csnc.ses, taisho.g1 == 1 &
                       togo == 0 & nonrt == 0 & fuku == 0)
csnc.ses.taisho <- na.omit(csnc.ses.taisho)

国語,社会の教科別の対象校に限定した分析対象校のクラスサイズなどの表

library(dplyr)
# 国語対象校
koku.csnc.ses_ <- inner_join(nrt.koku.schl, csnc.ses.taisho, by = "sid.new")

## 必要な列だけを取り出して列名を付け替える
koku.csnc.ses <- koku.csnc.ses_[,c(1, 9:28)]
colnames(koku.csnc.ses) <- c("sid", "nc.g1", "cs.g1", "nc.g2", "cs.g2", 
                             "nc.g3", "cs.g3", "nc.g4", "cs.g4", "nc.g5", 
                             "cs.g5", "nc.g6", "cs.g6", 
                             "setai.n", "nenshu.m", "nenshu.sd", "sotsu.n", 
                             "tan.n", "dai.n", "tan.p", "dai.p")


# 社会対象校
shak.csnc.ses_ <- inner_join(nrt.shak.schl, csnc.ses.taisho, by = "sid.new")
## 必要な列だけを取り出して列名を付け替える
shak.csnc.ses <- shak.csnc.ses_[,c(1, 9:28)]
colnames(shak.csnc.ses)  <- c("sid", "nc.g1", "cs.g1", "nc.g2", "cs.g2", 
                             "nc.g3", "cs.g3", "nc.g4", "cs.g4", "nc.g5", 
                             "cs.g5", "nc.g6", "cs.g6", 
                             "setai.n", "nenshu.m", "nenshu.sd", "sotsu.n", 
                             "tan.n", "dai.n", "tan.p", "dai.p")

クラスサイズなどの中心化

# 国語
## クラスサイズを中心化する
### 各学年での平均
koku.csnc.ses <- dplyr::mutate(koku.csnc.ses, 
                                   csm = (cs.g1 + cs.g2 + cs.g3 + cs.g4 + cs.g5 + cs.g6)/6)


### 中心化
koku.csm <- mean(koku.csnc.ses$csm)

koku.csnc.ses$cs.c.g1 <- koku.csnc.ses$cs.g1 -  mean(koku.csm)
koku.csnc.ses$cs.c.g2 <- koku.csnc.ses$cs.g2 -  mean(koku.csm)
koku.csnc.ses$cs.c.g3 <- koku.csnc.ses$cs.g3 -  mean(koku.csm)
koku.csnc.ses$cs.c.g4 <- koku.csnc.ses$cs.g4 -  mean(koku.csm)
koku.csnc.ses$cs.c.g5 <- koku.csnc.ses$cs.g5 -  mean(koku.csm)
koku.csnc.ses$cs.c.g6 <- koku.csnc.ses$cs.g6 -  mean(koku.csm)

## 世帯年収を中心化する
koku.nenshu.mean <- mean(koku.csnc.ses$nenshu.m)
koku.csnc.ses$nenshu.c <- koku.csnc.ses$nenshu.m - koku.nenshu.mean

# 短大高専卒業率を中心化する
koku.tan.p.mean <- mean(koku.csnc.ses$tan.p)
koku.csnc.ses$tan.c <- koku.csnc.ses$tan.p - koku.tan.p.mean

# 大学大学院卒業率を中心化する
koku.dai.p.mean <- mean(koku.csnc.ses$dai.p)
koku.csnc.ses$dai.c <- koku.csnc.ses$dai.p - koku.dai.p.mean

### おまけ:クラスサイズ変動差分データ列作成
koku.csnc.ses$cs.d12 <- koku.csnc.ses$cs.g2 - koku.csnc.ses$cs.g1 
koku.csnc.ses$cs.d23 <- koku.csnc.ses$cs.g3 - koku.csnc.ses$cs.g2 
koku.csnc.ses$cs.d34 <- koku.csnc.ses$cs.g4 - koku.csnc.ses$cs.g3 
koku.csnc.ses$cs.d45 <- koku.csnc.ses$cs.g5 - koku.csnc.ses$cs.g4 
koku.csnc.ses$cs.d56 <- koku.csnc.ses$cs.g6 - koku.csnc.ses$cs.g5 


# 社会
## クラスサイズを中心化する
### 各学年での平均
shak.csnc.ses <- dplyr::mutate(shak.csnc.ses, 
                                   csm = (cs.g1 + cs.g2 + cs.g3 + cs.g4 + cs.g5 + cs.g6)/6)


### 中心化
shak.csm <- mean(shak.csnc.ses$csm)

shak.csnc.ses$cs.c.g1 <- shak.csnc.ses$cs.g1 -  mean(shak.csm)
shak.csnc.ses$cs.c.g2 <- shak.csnc.ses$cs.g2 -  mean(shak.csm)
shak.csnc.ses$cs.c.g3 <- shak.csnc.ses$cs.g3 -  mean(shak.csm)
shak.csnc.ses$cs.c.g4 <- shak.csnc.ses$cs.g4 -  mean(shak.csm)
shak.csnc.ses$cs.c.g5 <- shak.csnc.ses$cs.g5 -  mean(shak.csm)
shak.csnc.ses$cs.c.g6 <- shak.csnc.ses$cs.g6 -  mean(shak.csm)

## 世帯年収を中心化する
shak.nenshu.mean <- mean(shak.csnc.ses$nenshu.m)
shak.csnc.ses$nenshu.c <- shak.csnc.ses$nenshu.m - shak.nenshu.mean

# 短大高専卒業率を中心化する
shak.tan.p.mean <- mean(shak.csnc.ses$tan.p)
shak.csnc.ses$tan.c <- shak.csnc.ses$tan.p - shak.tan.p.mean

# 大学大学院卒業率を中心化する
shak.dai.p.mean <- mean(shak.csnc.ses$dai.p)
shak.csnc.ses$dai.c <- shak.csnc.ses$dai.p - shak.dai.p.mean

### おまけ:クラスサイズ変動差分データ列作成
shak.csnc.ses$cs.d34 <- shak.csnc.ses$cs.g4 - shak.csnc.ses$cs.g3 
shak.csnc.ses$cs.d45 <- shak.csnc.ses$cs.g5 - shak.csnc.ses$cs.g4 
shak.csnc.ses$cs.d56 <- shak.csnc.ses$cs.g6 - shak.csnc.ses$cs.g5 

縦断データの作成

国語

# 1-2年生
koku.nrt.12_ <- nrt.koku[c("id", "sid", "g12.koku")]
koku.nrt.12_$year <- 0
koku.csnc.1 <- koku.csnc.ses[c("sid",  "nc.g1", "cs.g1", "cs.c.g1", "nenshu.c", "tan.c", "dai.c")]
koku.csnc.1$cs.d01 <- 0 # ここは1年生時用の特殊処理
koku.nrt.12 <- dplyr::inner_join(koku.csnc.1, koku.nrt.12_, by = "sid")
koku.nrt.12 <- koku.nrt.12[c( "id", "sid",  "nc.g1" ,  "cs.g1", "cs.c.g1", "cs.d01", "nenshu.c", "tan.c", "dai.c", "g12.koku", "year")]
colnames(koku.nrt.12) <- c("id", "sid", "nc", "cs", "cs.c", "cs.d", "nenshu.c", "tan.c", "dai.c", "koku", "year")

#2-3年生
koku.nrt.23_ <- nrt.koku[c("id", "sid", "g23.koku")]
koku.nrt.23_$year <- 1
koku.csnc.2 <- koku.csnc.ses[c("sid",  "nc.g2", "cs.g2",  "cs.c.g2", "cs.d12", "nenshu.c", "tan.c", "dai.c")]
koku.nrt.23 <- dplyr::inner_join(koku.csnc.2, koku.nrt.23_, by = "sid")
koku.nrt.23 <- koku.nrt.23[c( "id", "sid",  "nc.g2" ,  "cs.g2",  "cs.c.g2", "cs.d12", "nenshu.c", "tan.c", "dai.c", "g23.koku", "year")]
colnames(koku.nrt.23) <- c("id", "sid", "nc", "cs", "cs.c", "cs.d", "nenshu.c", "tan.c", "dai.c", "koku", "year")

#3-4年生
koku.nrt.34_ <- nrt.koku[c("id", "sid", "g34.koku")]
koku.nrt.34_$year <- 2
koku.csnc.3 <- koku.csnc.ses[c("sid",  "nc.g3", "cs.g3",  "cs.c.g3", "cs.d23", "nenshu.c", "tan.c", "dai.c")]
koku.nrt.34 <- dplyr::inner_join(koku.csnc.3, koku.nrt.34_, by = "sid")
koku.nrt.34 <- koku.nrt.34[c( "id", "sid",  "nc.g3" ,  "cs.g3",  "cs.c.g3", "cs.d23", "nenshu.c", "tan.c", "dai.c", "g34.koku", "year")]
colnames(koku.nrt.34) <- c("id", "sid", "nc", "cs", "cs.c", "cs.d", "nenshu.c", "tan.c", "dai.c", "koku", "year")

#4-5年生
koku.nrt.45_ <- nrt.koku[c("id", "sid", "g45.koku")]
koku.nrt.45_$year <- 3
koku.csnc.4 <- koku.csnc.ses[c("sid",  "nc.g4", "cs.g4",  "cs.c.g4", "cs.d34", "nenshu.c", "tan.c", "dai.c")]
koku.nrt.45 <- dplyr::inner_join(koku.csnc.4, koku.nrt.45_, by = "sid")
koku.nrt.45 <- koku.nrt.45[c( "id", "sid",  "nc.g4" ,  "cs.g4",  "cs.c.g4", "cs.d34", "nenshu.c", "tan.c", "dai.c", "g45.koku", "year")]
colnames(koku.nrt.45) <- c("id", "sid", "nc", "cs", "cs.c", "cs.d", "nenshu.c", "tan.c", "dai.c", "koku", "year")

#5-6年生
koku.nrt.56_ <- nrt.koku[c("id", "sid", "g56.koku")]
koku.nrt.56_$year <- 4
koku.csnc.5 <- koku.csnc.ses[c("sid",  "nc.g5", "cs.g5",  "cs.c.g5", "cs.d45", "nenshu.c", "tan.c", "dai.c")]
koku.nrt.56 <- dplyr::inner_join(koku.csnc.5, koku.nrt.56_, by = "sid")
koku.nrt.56 <- koku.nrt.56[c( "id", "sid",  "nc.g5" ,  "cs.g5",  "cs.c.g5", "cs.d45", "nenshu.c", "tan.c", "dai.c", "g56.koku", "year")]
colnames(koku.nrt.56) <- c("id", "sid", "nc", "cs", "cs.c", "cs.d", "nenshu.c", "tan.c", "dai.c", "koku", "year")

#6-7年生
koku.nrt.67_ <- nrt.koku[c("id", "sid", "g67.koku")]
koku.nrt.67_$year <- 5
koku.csnc.6 <- koku.csnc.ses[c("sid",  "nc.g6", "cs.g6",  "cs.c.g6", "cs.d56", "nenshu.c", "tan.c", "dai.c")]
koku.nrt.67 <- dplyr::inner_join(koku.csnc.6, koku.nrt.67_, by = "sid")
koku.nrt.67 <- koku.nrt.67[c( "id", "sid",  "nc.g6" ,  "cs.g6",  "cs.c.g6", "cs.d56", "nenshu.c", "tan.c", "dai.c", "g67.koku", "year")]
colnames(koku.nrt.67) <- c("id", "sid", "nc", "cs", "cs.c", "cs.d", "nenshu.c", "tan.c", "dai.c", "koku", "year")

# うぃーんがっしゃん
koku.nrt.lt <- dplyr::bind_rows(koku.nrt.12, koku.nrt.23, koku.nrt.34, koku.nrt.45, koku.nrt.56, koku.nrt.67)

社会

#3-4年生
shak.nrt.34_ <- nrt.shak[c("id", "sid", "g34.shak")]
shak.nrt.34_$year <- 0
shak.csnc.3 <- shak.csnc.ses[c("sid",  "nc.g3", "cs.g3",  "cs.c.g3", "nenshu.c", "tan.c", "dai.c")]
shak.csnc.3$cs.d23 <- 0 # ここは3年生時用の特殊処理
shak.nrt.34 <- dplyr::inner_join(shak.csnc.3, shak.nrt.34_, by = "sid")
shak.nrt.34 <- shak.nrt.34[c( "id", "sid",  "nc.g3" ,  "cs.g3",  "cs.c.g3", "cs.d23", "nenshu.c", "tan.c", "dai.c", "g34.shak", "year")]
colnames(shak.nrt.34) <- c("id", "sid", "nc", "cs", "cs.c", "cs.d", "nenshu.c", "tan.c", "dai.c", "shak", "year")

#4-5年生
shak.nrt.45_ <- nrt.shak[c("id", "sid", "g45.shak")]
shak.nrt.45_$year <- 1
shak.csnc.4 <- shak.csnc.ses[c("sid",  "nc.g4", "cs.g4",  "cs.c.g4", "cs.d34", "nenshu.c", "tan.c", "dai.c")]
shak.nrt.45 <- dplyr::inner_join(shak.csnc.4, shak.nrt.45_, by = "sid")
shak.nrt.45 <- shak.nrt.45[c( "id", "sid",  "nc.g4" ,  "cs.g4",  "cs.c.g4", "cs.d34", "nenshu.c", "tan.c", "dai.c", "g45.shak", "year")]
colnames(shak.nrt.45) <- c("id", "sid", "nc", "cs", "cs.c", "cs.d", "nenshu.c", "tan.c", "dai.c", "shak", "year")

#5-6年生
shak.nrt.56_ <- nrt.shak[c("id", "sid", "g56.shak")]
shak.nrt.56_$year <- 2
shak.csnc.5 <- shak.csnc.ses[c("sid",  "nc.g5", "cs.g5",  "cs.c.g5", "cs.d45", "nenshu.c", "tan.c", "dai.c")]
shak.nrt.56 <- dplyr::inner_join(shak.csnc.5, shak.nrt.56_, by = "sid")
shak.nrt.56 <- shak.nrt.56[c( "id", "sid",  "nc.g5" ,  "cs.g5",  "cs.c.g5", "cs.d45", "nenshu.c", "tan.c", "dai.c", "g56.shak", "year")]
colnames(shak.nrt.56) <- c("id", "sid", "nc", "cs", "cs.c", "cs.d", "nenshu.c", "tan.c", "dai.c", "shak", "year")

#6-7年生
shak.nrt.67_ <- nrt.shak[c("id", "sid", "g67.shak")]
shak.nrt.67_$year <- 3
shak.csnc.6 <- shak.csnc.ses[c("sid",  "nc.g6", "cs.g6",  "cs.c.g6", "cs.d56", "nenshu.c", "tan.c", "dai.c")]
shak.nrt.67 <- dplyr::inner_join(shak.csnc.6, shak.nrt.67_, by = "sid")
shak.nrt.67 <- shak.nrt.67[c( "id", "sid",  "nc.g6" ,  "cs.g6",  "cs.c.g6", "cs.d56", "nenshu.c", "tan.c", "dai.c", "g67.shak", "year")]
colnames(shak.nrt.67) <- c("id", "sid", "nc", "cs", "cs.c", "cs.d", "nenshu.c", "tan.c", "dai.c", "shak", "year")

# うぃーんがっしゃん
shak.nrt.lt <- dplyr::bind_rows(shak.nrt.34, shak.nrt.45, shak.nrt.56, shak.nrt.67)

分布の図

par(oma = c(0, 0, 4, 0)) 
par(mfrow=c(2,3)) 

hist(koku.csnc.ses$cs.g1, xlim = c(0, 40), ylim = c(0,50))
hist(koku.csnc.ses$cs.g2, xlim = c(0, 40), ylim = c(0,50))
hist(koku.csnc.ses$cs.g3, xlim = c(0, 40), ylim = c(0,50))
hist(koku.csnc.ses$cs.g4, xlim = c(0, 40), ylim = c(0,50))
hist(koku.csnc.ses$cs.g5, xlim = c(0, 40), ylim = c(0,50))
hist(koku.csnc.ses$cs.g6, xlim = c(0, 40), ylim = c(0,50))
mtext(side = 3, line=1, outer=T, text = "Histgram of Class Size (Kokugo)", cex=1.5)

par(oma = c(0, 0, 4, 0)) 
par(mfrow=c(2,2)) 

hist(shak.csnc.ses$cs.g3, xlim = c(0, 40), ylim = c(0,20))
hist(shak.csnc.ses$cs.g4, xlim = c(0, 40), ylim = c(0,20))
hist(shak.csnc.ses$cs.g5, xlim = c(0, 40), ylim = c(0,20))
hist(shak.csnc.ses$cs.g6, xlim = c(0, 40), ylim = c(0,20))
mtext(side = 3, line=1, outer=T, text = "Histgram of Class Size (Shakai)", cex=1.5)

par(oma = c(0, 0, 4, 0)) 
par(mfrow=c(1,3)) 

hist(koku.csnc.ses$nenshu.m, xlim = c(300, 600), ylim = c(0,50), main = "Annual income")
hist(koku.csnc.ses$tan.p, xlim = c(0, 0.5), ylim = c(0,50), main = "Graduation rate (2-year higher edu.)")
hist(koku.csnc.ses$dai.p, xlim = c(0, 0.5), ylim = c(0,50), main = "Graduation rate (tertiary edu.)")

mtext(side = 3, line=1, outer=T, text = "Histgram of SES Alternative Indicators School Mean (Kokugo)", cex=1.5)

par(oma = c(0, 0, 4, 0)) 
par(mfrow=c(1,3)) 

hist(shak.csnc.ses$nenshu.m, xlim = c(300, 600), ylim = c(0,20), main = "Annual income")
hist(shak.csnc.ses$tan.p, xlim = c(0, 0.5), ylim = c(0,20), main = "Graduation rate (2-year higher edu.)")
hist(shak.csnc.ses$dai.p, xlim = c(0, 0.5), ylim = c(0,20), main = "Graduation rate (tertiary edu.)")

mtext(side = 3, line=1, outer=T, text = "Histgram of SES Alternative Indicators School Mean (Shakai)", cex=1.5)

分析する

library(lmerTest)
## Loading required package: lme4
## Loading required package: Matrix
## 
## Attaching package: 'lmerTest'
## The following object is masked from 'package:lme4':
## 
##     lmer
## The following object is masked from 'package:stats':
## 
##     step

国語

# クラスサイズだけ投入
koku.res1 <- lmer(koku ~ year + cs.c + year:cs.c + (1|id) + (1|sid), 
                         data = koku.nrt.lt,
                         REML = FALSE
                         )
# 初期値にだけ年収が影響
koku.res2 <- lmer(koku ~ year + nenshu.c + cs.c + year:cs.c + (1|id) + (1|sid), 
                         data = koku.nrt.lt,
                         REML = FALSE
                         )
# 初期値と推移に年収が影響
koku.res3 <- lmer(koku ~ year + nenshu.c + cs.c + year:nenshu.c + year:cs.c +(1|id) + (1|sid), 
                         data = koku.nrt.lt,
                         REML = FALSE
                         )
# 初期値に年収とクラスサイズの交互作用が影響
koku.res4 <- lmer(koku ~ year + nenshu.c + cs.c +
                        nenshu.c:cs.c +
                        year:nenshu.c + 
                        year:cs.c + 
                        (1|id) + (1|sid), 
                        data = koku.nrt.lt,
                         REML = FALSE
                         )
# 初期値と推移に年収とクラスサイズの交互作用が影響
koku.res5 <- lmer(koku ~ year + nenshu.c + cs.c +
                        nenshu.c:cs.c +
                        year:nenshu.c + 
                        year:cs.c + 
                        year:cs.c:nenshu.c + 
                        (1|id) + (1|sid), 
                        data = koku.nrt.lt,
                         REML = FALSE
                         )
# 初期値にだけ大卒率が影響
koku.res6 <- lmer(koku ~ year + dai.c + cs.c + year:cs.c + (1|id) + (1|sid), 
                         data = koku.nrt.lt,
                         REML = FALSE
                         )
# 初期値と推移に大卒率が影響
koku.res7 <- lmer(koku ~ year + dai.c + cs.c + year:dai.c + year:cs.c +(1|id) + (1|sid), 
                         data = koku.nrt.lt,
                         REML = FALSE
                         )
# 初期値に大卒率とクラスサイズの交互作用が影響
koku.res8 <- lmer(koku ~ year + dai.c + cs.c +
                        dai.c:cs.c +
                        year:dai.c + 
                        year:cs.c + 
                        (1|id) + (1|sid), 
                        data = koku.nrt.lt,
                         REML = FALSE
                         )
# 初期値と推移に大卒率とクラスサイズの交互作用が影響
koku.res9 <- lmer(koku ~ year + dai.c + cs.c +
                        dai.c:cs.c +
                        year:dai.c + 
                        year:cs.c + 
                        year:cs.c:dai.c + 
                        (1|id) + (1|sid), 
                        data = koku.nrt.lt,
                         REML = FALSE
                         )
# 推移に大卒率とクラスサイズの交互作用が影響
koku.res10 <- lmer(koku ~ year + dai.c + cs.c +
                        year:dai.c + 
                        year:cs.c + 
                        year:cs.c:dai.c + 
                        (1|id) + (1|sid), 
                        data = koku.nrt.lt,
                         REML = FALSE
                         )
print(koku.res1, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: koku ~ year + cs.c + year:cs.c + (1 | id) + (1 | sid)
##    Data: koku.nrt.lt
##      AIC      BIC   logLik deviance df.resid 
## 159427.4 159484.3 -79706.7 159413.4    25091 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 7.67    
##  sid      (Intercept) 1.49    
##  Residual             4.54    
## Number of obs: 25098, groups:  id, 4183; sid, 118
## Fixed Effects:
## (Intercept)         year         cs.c    year:cs.c  
##     53.6936      -0.2150      -0.0162      -0.0109
print(koku.res2, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: koku ~ year + nenshu.c + cs.c + year:cs.c + (1 | id) + (1 | sid)
##    Data: koku.nrt.lt
##      AIC      BIC   logLik deviance df.resid 
## 159427.8 159492.9 -79705.9 159411.8    25090 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 7.67    
##  sid      (Intercept) 1.46    
##  Residual             4.54    
## Number of obs: 25098, groups:  id, 4183; sid, 118
## Fixed Effects:
## (Intercept)         year     nenshu.c         cs.c    year:cs.c  
##     53.6585      -0.2148      -0.0104      -0.0177      -0.0109
print(koku.res3, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: koku ~ year + nenshu.c + cs.c + year:nenshu.c + year:cs.c + (1 |  
##     id) + (1 | sid)
##    Data: koku.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
## 159421.95 159495.13 -79701.98 159403.95     25089 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 7.67    
##  sid      (Intercept) 1.46    
##  Residual             4.54    
## Number of obs: 25098, groups:  id, 4183; sid, 118
## Fixed Effects:
##   (Intercept)           year       nenshu.c           cs.c  year:nenshu.c  
##      53.68585       -0.22498       -0.00518       -0.01356       -0.00210  
##     year:cs.c  
##      -0.01285
print(koku.res4, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: koku ~ year + nenshu.c + cs.c + nenshu.c:cs.c + year:nenshu.c +  
##     year:cs.c + (1 | id) + (1 | sid)
##    Data: koku.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
## 159415.78 159497.09 -79697.89 159395.78     25088 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 7.67    
##  sid      (Intercept) 1.46    
##  Residual             4.54    
## Number of obs: 25098, groups:  id, 4183; sid, 118
## Fixed Effects:
##   (Intercept)           year       nenshu.c           cs.c  nenshu.c:cs.c  
##      53.71352       -0.22676       -0.00750        0.00397        0.00172  
## year:nenshu.c      year:cs.c  
##      -0.00231       -0.01270
print(koku.res5, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: koku ~ year + nenshu.c + cs.c + nenshu.c:cs.c + year:nenshu.c +  
##     year:cs.c + year:cs.c:nenshu.c + (1 | id) + (1 | sid)
##    Data: koku.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
## 159416.94 159506.37 -79697.47 159394.94     25087 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 7.67    
##  sid      (Intercept) 1.46    
##  Residual             4.54    
## Number of obs: 25098, groups:  id, 4183; sid, 118
## Fixed Effects:
##        (Intercept)                year            nenshu.c  
##          53.723305           -0.231102           -0.008458  
##               cs.c       nenshu.c:cs.c       year:nenshu.c  
##           0.002769            0.002056           -0.001879  
##          year:cs.c  year:nenshu.c:cs.c  
##          -0.012402           -0.000147
print(koku.res6, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: koku ~ year + dai.c + cs.c + year:cs.c + (1 | id) + (1 | sid)
##    Data: koku.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
## 159429.33 159494.38 -79706.67 159413.33     25090 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 7.67    
##  sid      (Intercept) 1.49    
##  Residual             4.54    
## Number of obs: 25098, groups:  id, 4183; sid, 118
## Fixed Effects:
## (Intercept)         year        dai.c         cs.c    year:cs.c  
##     53.6848      -0.2149       1.4750      -0.0167      -0.0109
print(koku.res7, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: koku ~ year + dai.c + cs.c + year:dai.c + year:cs.c + (1 | id) +  
##     (1 | sid)
##    Data: koku.nrt.lt
##      AIC      BIC   logLik deviance df.resid 
## 159416.6 159489.8 -79699.3 159398.6    25089 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 7.67    
##  sid      (Intercept) 1.49    
##  Residual             4.54    
## Number of obs: 25098, groups:  id, 4183; sid, 118
## Fixed Effects:
## (Intercept)         year        dai.c         cs.c   year:dai.c  
##    53.72877     -0.23108     -3.75357     -0.00583      2.13671  
##   year:cs.c  
##    -0.01577
print(koku.res8, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: 
## koku ~ year + dai.c + cs.c + dai.c:cs.c + year:dai.c + year:cs.c +  
##     (1 | id) + (1 | sid)
##    Data: koku.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
## 159412.59 159493.90 -79696.29 159392.59     25088 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 7.67    
##  sid      (Intercept) 1.50    
##  Residual             4.54    
## Number of obs: 25098, groups:  id, 4183; sid, 118
## Fixed Effects:
## (Intercept)         year        dai.c         cs.c   dai.c:cs.c  
##    53.77255     -0.23311     -3.04494      0.00515     -0.79625  
##  year:dai.c    year:cs.c  
##     2.43970     -0.01625
print(koku.res9, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: 
## koku ~ year + dai.c + cs.c + dai.c:cs.c + year:dai.c + year:cs.c +  
##     year:cs.c:dai.c + (1 | id) + (1 | sid)
##    Data: koku.nrt.lt
##      AIC      BIC   logLik deviance df.resid 
## 159411.4 159500.8 -79694.7 159389.4    25087 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 7.67    
##  sid      (Intercept) 1.50    
##  Residual             4.54    
## Number of obs: 25098, groups:  id, 4183; sid, 118
## Fixed Effects:
##     (Intercept)             year            dai.c             cs.c  
##        53.80209         -0.24486         -1.62631          0.00503  
##      dai.c:cs.c       year:dai.c        year:cs.c  year:dai.c:cs.c  
##        -1.31385          1.78689         -0.01599          0.19891
print(koku.res10, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: 
## koku ~ year + dai.c + cs.c + year:dai.c + year:cs.c + year:cs.c:dai.c +  
##     (1 | id) + (1 | sid)
##    Data: koku.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
## 159418.50 159499.81 -79699.25 159398.50     25088 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 7.67    
##  sid      (Intercept) 1.49    
##  Residual             4.54    
## Number of obs: 25098, groups:  id, 4183; sid, 118
## Fixed Effects:
##     (Intercept)             year            dai.c             cs.c  
##        53.72860         -0.22977         -3.87207         -0.00493  
##      year:dai.c        year:cs.c  year:dai.c:cs.c  
##         2.24319         -0.01584         -0.02492
koku.fit <- matrix(c(AIC(koku.res1), AIC(koku.res2), AIC(koku.res3),
                     AIC(koku.res4), AIC(koku.res5), AIC(koku.res6),
                     AIC(koku.res7), AIC(koku.res8), AIC(koku.res9),
                     AIC(koku.res10),
                     BIC(koku.res1), BIC(koku.res2), BIC(koku.res3),
                     BIC(koku.res4), BIC(koku.res5), BIC(koku.res6),
                     BIC(koku.res7), BIC(koku.res8), BIC(koku.res9),
                     BIC(koku.res10)),
                     nrow = 10, ncol = 2)
koku.fit 
##           [,1]     [,2]
##  [1,] 159427.4 159484.3
##  [2,] 159427.8 159492.9
##  [3,] 159422.0 159495.1
##  [4,] 159415.8 159497.1
##  [5,] 159416.9 159506.4
##  [6,] 159429.3 159494.4
##  [7,] 159416.6 159489.8
##  [8,] 159412.6 159493.9
##  [9,] 159411.4 159500.8
## [10,] 159418.5 159499.8

社会

# クラスサイズだけ投入
shak.res1 <- lmer(shak ~ year + cs.c + year:cs.c + (1|id) + (1|sid), 
                         data = shak.nrt.lt,
                         REML = FALSE
                         )
# 初期値にだけ年収が影響
shak.res2 <- lmer(shak ~ year + nenshu.c + cs.c + year:cs.c + (1|id) + (1|sid), 
                         data = shak.nrt.lt,
                         REML = FALSE
                         )
# 初期値と推移に年収が影響
shak.res3 <- lmer(shak ~ year + nenshu.c + cs.c + year:nenshu.c + year:cs.c +(1|id) + (1|sid), 
                         data = shak.nrt.lt,
                         REML = FALSE
                         )
# 初期値に年収とクラスサイズの交互作用が影響
shak.res4 <- lmer(shak ~ year + nenshu.c + cs.c +
                        nenshu.c:cs.c +
                        year:nenshu.c + 
                        year:cs.c + 
                        (1|id) + (1|sid), 
                        data = shak.nrt.lt,
                         REML = FALSE
                         )
# 初期値と推移に年収とクラスサイズの交互作用が影響
shak.res5 <- lmer(shak ~ year + nenshu.c + cs.c +
                         nenshu.c:cs.c +
                         year:nenshu.c + 
                         year:cs.c + 
                         year:cs.c:nenshu.c + 
                         (1|id) + (1|sid), 
                         data = shak.nrt.lt,
                         REML = FALSE
                         )
# 初期値にだけ大卒率が影響
shak.res6 <- lmer(shak ~ year + dai.c + cs.c + year:cs.c + (1|id) + (1|sid), 
                         data = shak.nrt.lt,
                         REML = FALSE
                         )
# 初期値と推移に大卒率が影響
shak.res7 <- lmer(shak ~ year + dai.c + cs.c + year:dai.c + year:cs.c +(1|id) + (1|sid), 
                         data = shak.nrt.lt,
                         REML = FALSE
                         )
# 初期値に大卒率とクラスサイズの交互作用が影響
shak.res8 <- lmer(shak ~ year + dai.c + cs.c +
                         dai.c:cs.c +
                         year:dai.c + 
                         year:cs.c + 
                         (1|id) + (1|sid), 
                         data = shak.nrt.lt,
                         REML = FALSE
                         )
# 初期値と推移に大卒率とクラスサイズの交互作用が影響
shak.res9 <- lmer(shak ~ year + dai.c + cs.c +
                        dai.c:cs.c +
                        year:dai.c + 
                        year:cs.c + 
                        year:cs.c:dai.c + 
                        (1|id) + (1|sid), 
                        data = shak.nrt.lt,
                         REML = FALSE
                         )
# 推移に大卒率とクラスサイズの交互作用が影響
shak.res10 <- lmer(shak ~ year + dai.c + cs.c +
                        year:dai.c + 
                        year:cs.c + 
                        year:cs.c:dai.c + 
                        (1|id) + (1|sid), 
                        data = shak.nrt.lt,
                         REML = FALSE
                         )
print(shak.res1, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: shak ~ year + cs.c + year:cs.c + (1 | id) + (1 | sid)
##    Data: shak.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
##  45235.93  45283.51 -22610.96  45221.93      6609 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 9.00    
##  sid      (Intercept) 1.57    
##  Residual             5.39    
## Number of obs: 6616, groups:  id, 1654; sid, 48
## Fixed Effects:
## (Intercept)         year         cs.c    year:cs.c  
##     52.3548       0.1004       0.0224      -0.0225
print(shak.res2, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: shak ~ year + nenshu.c + cs.c + year:cs.c + (1 | id) + (1 | sid)
##    Data: shak.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
##  45237.84  45292.22 -22610.92  45221.84      6608 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 9.00    
##  sid      (Intercept) 1.57    
##  Residual             5.39    
## Number of obs: 6616, groups:  id, 1654; sid, 48
## Fixed Effects:
## (Intercept)         year     nenshu.c         cs.c    year:cs.c  
##    52.36846      0.10067      0.00575      0.02423     -0.02246
print(shak.res3, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: shak ~ year + nenshu.c + cs.c + year:nenshu.c + year:cs.c + (1 |  
##     id) + (1 | sid)
##    Data: shak.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
##  45239.57  45300.74 -22610.78  45221.57      6607 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 9.00    
##  sid      (Intercept) 1.57    
##  Residual             5.39    
## Number of obs: 6616, groups:  id, 1654; sid, 48
## Fixed Effects:
##   (Intercept)           year       nenshu.c           cs.c  year:nenshu.c  
##      52.36274        0.10470        0.00285        0.02052        0.00196  
##     year:cs.c  
##      -0.01973
print(shak.res4, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: shak ~ year + nenshu.c + cs.c + nenshu.c:cs.c + year:nenshu.c +  
##     year:cs.c + (1 | id) + (1 | sid)
##    Data: shak.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
##  45238.06  45306.03 -22609.03  45218.06      6606 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 9.00    
##  sid      (Intercept) 1.75    
##  Residual             5.38    
## Number of obs: 6616, groups:  id, 1654; sid, 48
## Fixed Effects:
##   (Intercept)           year       nenshu.c           cs.c  nenshu.c:cs.c  
##     52.180026       0.101648      -0.000291      -0.011045      -0.004713  
## year:nenshu.c      year:cs.c  
##      0.001500      -0.019294
print(shak.res5, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: shak ~ year + nenshu.c + cs.c + nenshu.c:cs.c + year:nenshu.c +  
##     year:cs.c + year:cs.c:nenshu.c + (1 | id) + (1 | sid)
##    Data: shak.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
##  45218.63  45293.40 -22598.32  45196.63      6605 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 9.00    
##  sid      (Intercept) 1.71    
##  Residual             5.37    
## Number of obs: 6616, groups:  id, 1654; sid, 48
## Fixed Effects:
##        (Intercept)                year            nenshu.c  
##           52.02298             0.22272             0.00658  
##               cs.c       nenshu.c:cs.c       year:nenshu.c  
##           -0.01806            -0.00877            -0.00242  
##          year:cs.c  year:nenshu.c:cs.c  
##           -0.01265             0.00313
print(shak.res6, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: shak ~ year + dai.c + cs.c + year:cs.c + (1 | id) + (1 | sid)
##    Data: shak.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
##  45237.91  45292.28 -22610.95  45221.91      6608 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 9.00    
##  sid      (Intercept) 1.56    
##  Residual             5.39    
## Number of obs: 6616, groups:  id, 1654; sid, 48
## Fixed Effects:
## (Intercept)         year        dai.c         cs.c    year:cs.c  
##     52.3452       0.1002       1.7616       0.0213      -0.0226
print(shak.res7, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: shak ~ year + dai.c + cs.c + year:dai.c + year:cs.c + (1 | id) +  
##     (1 | sid)
##    Data: shak.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
##  45233.15  45294.33 -22607.58  45215.15      6607 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 9.00    
##  sid      (Intercept) 1.53    
##  Residual             5.38    
## Number of obs: 6616, groups:  id, 1654; sid, 48
## Fixed Effects:
## (Intercept)         year        dai.c         cs.c   year:dai.c  
##     52.4035       0.0642      -6.3661       0.0339       6.0588  
##   year:cs.c  
##     -0.0368
print(shak.res8, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: 
## shak ~ year + dai.c + cs.c + dai.c:cs.c + year:dai.c + year:cs.c +  
##     (1 | id) + (1 | sid)
##    Data: shak.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
##  45235.15  45303.13 -22607.58  45215.15      6606 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 9.00    
##  sid      (Intercept) 1.53    
##  Residual             5.38    
## Number of obs: 6616, groups:  id, 1654; sid, 48
## Fixed Effects:
## (Intercept)         year        dai.c         cs.c   dai.c:cs.c  
##    52.40379      0.06425     -6.34899      0.03391     -0.00532  
##  year:dai.c    year:cs.c  
##     6.05733     -0.03678
print(shak.res9, digits = 3)
## Linear mixed model fit by maximum likelihood  ['lmerModLmerTest']
## Formula: 
## shak ~ year + dai.c + cs.c + dai.c:cs.c + year:dai.c + year:cs.c +  
##     year:cs.c:dai.c + (1 | id) + (1 | sid)
##    Data: shak.nrt.lt
##       AIC       BIC    logLik  deviance  df.resid 
##  45234.91  45309.68 -22606.45  45212.91      6605 
## Random effects:
##  Groups   Name        Std.Dev.
##  id       (Intercept) 9.00    
##  sid      (Intercept) 1.53    
##  Residual             5.38    
## Number of obs: 6616, groups:  id, 1654; sid, 48
## Fixed Effects:
##     (Intercept)             year            dai.c             cs.c  
##         52.3256           0.1052         -11.7356           0.0430  
##      dai.c:cs.c       year:dai.c        year:cs.c  year:dai.c:cs.c  
##          1.2280           8.9309          -0.0411          -0.6757
shak.fit <- matrix(c(AIC(shak.res1), AIC(shak.res2), AIC(shak.res3),
                     AIC(shak.res4), AIC(shak.res5), AIC(shak.res6),
                     AIC(shak.res7), AIC(shak.res8), AIC(shak.res9),
                     AIC(shak.res10),
                     BIC(shak.res1), BIC(shak.res2), BIC(shak.res3),
                     BIC(shak.res4), BIC(shak.res5), BIC(shak.res6),
                     BIC(shak.res7), BIC(shak.res8), BIC(shak.res9),
                     BIC(shak.res10)),
                     nrow = 10, ncol = 2)
shak.fit
##           [,1]     [,2]
##  [1,] 45235.93 45283.51
##  [2,] 45237.84 45292.22
##  [3,] 45239.57 45300.74
##  [4,] 45238.06 45306.03
##  [5,] 45218.63 45293.40
##  [6,] 45237.91 45292.28
##  [7,] 45233.15 45294.33
##  [8,] 45235.15 45303.13
##  [9,] 45234.91 45309.68
## [10,] 45233.52 45301.49

結果

国語はモデル9(初期値と推移に大卒率とクラスサイズの交互作用が影響)

社会はモデル7(初期値と推移に大卒率が影響)

summary(koku.res9, digits = 3)
## Warning in summary.merMod(as(object, "lmerMod"), ...): additional arguments
## ignored
## Linear mixed model fit by maximum likelihood . t-tests use
##   Satterthwaite's method [lmerModLmerTest]
## Formula: 
## koku ~ year + dai.c + cs.c + dai.c:cs.c + year:dai.c + year:cs.c +  
##     year:cs.c:dai.c + (1 | id) + (1 | sid)
##    Data: koku.nrt.lt
## 
##      AIC      BIC   logLik deviance df.resid 
## 159411.4 159500.8 -79694.7 159389.4    25087 
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -5.3294 -0.5509  0.0419  0.5959  5.0165 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  id       (Intercept) 58.848   7.671   
##  sid      (Intercept)  2.257   1.502   
##  Residual             20.622   4.541   
## Number of obs: 25098, groups:  id, 4183; sid, 118
## 
## Fixed effects:
##                   Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)      5.380e+01  2.062e-01  1.269e+02 260.892  < 2e-16 ***
## year            -2.449e-01  2.079e-02  2.099e+04 -11.779  < 2e-16 ***
## dai.c           -1.626e+00  6.324e+00  1.019e+02  -0.257  0.79757    
## cs.c             5.035e-03  1.576e-02  9.685e+03   0.319  0.74937    
## dai.c:cs.c      -1.314e+00  4.353e-01  1.688e+04  -3.018  0.00255 ** 
## year:dai.c       1.787e+00  6.771e-01  2.102e+04   2.639  0.00832 ** 
## year:cs.c       -1.599e-02  3.482e-03  2.098e+04  -4.591 4.44e-06 ***
## year:dai.c:cs.c  1.989e-01  1.114e-01  2.099e+04   1.785  0.07422 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) year   dai.c  cs.c   d.c:c. yr:d.c yr:cs.
## year        -0.247                                          
## dai.c       -0.167  0.014                                   
## cs.c        -0.069  0.120 -0.130                            
## dai.c:cs.c  -0.117  0.241 -0.119 -0.208                     
## year:dai.c   0.018 -0.002 -0.236  0.201  0.223              
## year:cs.c    0.076 -0.354  0.076 -0.546  0.014 -0.332       
## yr:d.c:cs.c  0.080 -0.317  0.126 -0.004 -0.666 -0.540  0.043
summary(shak.res7, digits = 3)
## Warning in summary.merMod(as(object, "lmerMod"), ...): additional arguments
## ignored
## Linear mixed model fit by maximum likelihood . t-tests use
##   Satterthwaite's method [lmerModLmerTest]
## Formula: shak ~ year + dai.c + cs.c + year:dai.c + year:cs.c + (1 | id) +  
##     (1 | sid)
##    Data: shak.nrt.lt
## 
##      AIC      BIC   logLik deviance df.resid 
##  45233.2  45294.3 -22607.6  45215.2     6607 
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -6.0469 -0.4938  0.0574  0.5393  4.8163 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  id       (Intercept) 81.073   9.004   
##  sid      (Intercept)  2.343   1.531   
##  Residual             28.988   5.384   
## Number of obs: 6616, groups:  id, 1654; sid, 48
## 
## Fixed effects:
##               Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)   52.40348    0.36589   44.71912 143.220  < 2e-16 ***
## year           0.06424    0.06972 4980.98736   0.922  0.35683    
## dai.c         -6.36614   12.69402   31.80601  -0.502  0.61947    
## cs.c           0.03390    0.03455 1559.39170   0.981  0.32661    
## year:dai.c     6.05880    2.32973 4980.77741   2.601  0.00933 ** 
## year:cs.c     -0.03678    0.01298 4991.94461  -2.833  0.00463 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##            (Intr) year   dai.c  cs.c   yr:d.c
## year       -0.300                            
## dai.c      -0.190  0.038                     
## cs.c       -0.179  0.273 -0.220              
## year:dai.c  0.063 -0.198 -0.251  0.147       
## year:cs.c   0.100 -0.351  0.086 -0.464 -0.421

グラフを描いてみる

クラスサイズと大卒率の記述統計量を教科別に求める

library(psych)

# クラスサイズ
# 分析対象校の1-6学年までの平均クラスサイズ平均とSD
koku.cs.desc <- describe(koku.csnc.ses$csm)
koku.cs.desc
##    vars   n  mean   sd median trimmed  mad  min   max range  skew kurtosis
## X1    1 118 22.92 6.77  24.39   23.42 6.69 6.83 32.83    26 -0.59     -0.7
##      se
## X1 0.62
shak.cs.desc <- describe(shak.csnc.ses$csm)
shak.cs.desc
##    vars  n  mean   sd median trimmed  mad min   max range skew kurtosis
## X1    1 48 22.06 5.98  23.25   22.32 6.86   9 32.33 23.33 -0.4    -0.94
##      se
## X1 0.86
# 大卒率
koku.dai.desc <- describe(koku.csnc.ses$dai.p)
koku.dai.desc
##    vars   n mean   sd median trimmed  mad  min  max range skew kurtosis se
## X1    1 118 0.08 0.03   0.07    0.07 0.03 0.03 0.17  0.14 0.91     0.36  0
shak.dai.desc <- describe(shak.csnc.ses$dai.p)
shak.dai.desc
##    vars  n mean   sd median trimmed  mad  min  max range skew kurtosis se
## X1    1 48 0.07 0.03   0.07    0.07 0.03 0.03 0.16  0.13 1.03     1.15  0

グラフ用のクラスサイズと大卒率の表

# 国語
koku.gra.tab <- data.frame(
                matrix(c(koku.cs.desc$mean - koku.cs.desc$sd, koku.cs.desc$mean, koku.cs.desc$mean + koku.cs.desc$sd,
                         koku.dai.desc$mean - koku.dai.desc$sd, koku.dai.desc$mean, koku.dai.desc$mean + koku.dai.desc$sd,
                         -1* koku.cs.desc$sd, 0, koku.cs.desc$sd,
                         -1* koku.dai.desc$sd, 0, koku.dai.desc$sd),
                       nrow = 3, ncol = 4)
                 )
colnames(koku.gra.tab) <- c("cs", "dai", "cs.c", "dai.c")
rownames(koku.gra.tab) <- c("-1SD", "M", "+1SD")

# 社会
shak.gra.tab <- data.frame(
                matrix(c(shak.cs.desc$mean - shak.cs.desc$sd, shak.cs.desc$mean, shak.cs.desc$mean + shak.cs.desc$sd,
                         shak.dai.desc$mean - shak.dai.desc$sd, shak.dai.desc$mean, shak.dai.desc$mean + shak.dai.desc$sd,
                         -1* shak.cs.desc$sd, 0, shak.cs.desc$sd,
                         -1* shak.dai.desc$sd, 0, shak.dai.desc$sd),
                       nrow = 3, ncol = 4)
                 )
colnames(shak.gra.tab) <- c("cs", "dai", "cs.c", "dai.c")
rownames(shak.gra.tab) <- c("-1SD", "M", "+1SD")

推定値からプロットするための数値を得る

国語のデータ

# 国語はモデル9(初期値と推移に大卒率とクラスサイズの交互作用が影響)
## koku.res9 <- lmer(koku ~ year + dai.c + cs.c +
##                          dai.c:cs.c +
##                          year:dai.c + 
##                          year:cs.c + 
##                          year:cs.c:dai.c

# 係数
koku.keisu <- data.frame(
              matrix(c(koku.res9@pp$delb[1],
                       koku.res9@pp$delb[2],
                       koku.res9@pp$delb[3],
                       koku.res9@pp$delb[4],
                       koku.res9@pp$delb[5],
                       koku.res9@pp$delb[6],
                       koku.res9@pp$delb[7],
                       koku.res9@pp$delb[8]),
              nrow = 1, ncol = 8))
colnames(koku.keisu) <- c("Intercept", "year", 
                          "dai.c", "cs.c", "dai.c:cs.c", 
                          "year:dai.c", "year:cs.c", "year:dai.c:cs.c")

# 大卒率高 クラスサイズ小
## t0, cs = small
year <- 0; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[1,3]
daih.css.t0 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t1, cs = small
year <- 1; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[1,3]
daih.css.t1 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t2, cs = small
year <- 2; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[1,3]
daih.css.t2 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t3, cs = small
year <- 3; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[1,3]
daih.css.t3 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t4, cs = small
year <- 4; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[1,3]
daih.css.t4 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t5, cs = small
year <- 5; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[1,3]
daih.css.t5 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

# 大卒率高 クラスサイズ中
## t0, cs = medium
year <- 0; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[2,3]
daih.csm.t0 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t1, cs = medium
year <- 1; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[2,3]
daih.csm.t1 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t2, cs = medium
year <- 2; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[2,3]
daih.csm.t2 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t3, cs = medium
year <- 3; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[2,3]
daih.csm.t3 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t4, cs = medium
year <- 4; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[2,3]
daih.csm.t4 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t5, cs = medium
year <- 5; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[2,3]
daih.csm.t5 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

# 大卒率高 クラスサイズ大
## t0, cs = large
year <- 0; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[3,3]
daih.csl.t0 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t1, cs = large
year <- 1; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[3,3]
daih.csl.t1 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t2, cs = large
year <- 2; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[3,3]
daih.csl.t2 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t3, cs = large
year <- 3; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[3,3]
daih.csl.t3 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t4, cs = large
year <- 4; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[3,3]
daih.csl.t4 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t5, cs = large
year <- 5; dai <- koku.gra.tab[3,4]; cs <- koku.gra.tab[3,3]
daih.csl.t5 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

# 大卒率中 クラスサイズ小
## t0, cs = small
year <- 0; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[1,3]
daim.css.t0 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t1, cs = small
year <- 1; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[1,3]
daim.css.t1 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t2, cs = small
year <- 2; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[1,3]
daim.css.t2 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t3, cs = small
year <- 3; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[1,3]
daim.css.t3 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t4, cs = small
year <- 4; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[1,3]
daim.css.t4 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t5, cs = small
year <- 5; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[1,3]
daim.css.t5 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

# 大卒率中 クラスサイズ中
## t0, cs = medium
year <- 0; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[2,3]
daim.csm.t0 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t1, cs = medium
year <- 1; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[2,3]
daim.csm.t1 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t2, cs = medium
year <- 2; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[2,3]
daim.csm.t2 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t3, cs = medium
year <- 3; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[2,3]
daim.csm.t3 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t4, cs = medium
year <- 4; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[2,3]
daim.csm.t4 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t5, cs = medium
year <- 5; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[2,3]
daim.csm.t5 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

# 大卒率中 クラスサイズ大
## t0, cs = large
year <- 0; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[3,3]
daim.csl.t0 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t1, cs = large
year <- 1; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[3,3]
daim.csl.t1 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t2, cs = large
year <- 2; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[3,3]
daim.csl.t2 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t3, cs = large
year <- 3; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[3,3]
daim.csl.t3 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t4, cs = large
year <- 4; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[3,3]
daim.csl.t4 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t5, cs = large
year <- 5; dai <- koku.gra.tab[2,4]; cs <- koku.gra.tab[3,3]
daim.csl.t5 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

# 大卒率低 クラスサイズ小
## t0, cs = small
year <- 0; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[1,3]
dail.css.t0 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t1, cs = small
year <- 1; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[1,3]
dail.css.t1 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t2, cs = small
year <- 2; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[1,3]
dail.css.t2 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t3, cs = small
year <- 3; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[1,3]
dail.css.t3 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t4, cs = small
year <- 4; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[1,3]
dail.css.t4 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t5, cs = small
year <- 5; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[1,3]
dail.css.t5 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

# 大卒率低 クラスサイズ中
## t0, cs = medium
year <- 0; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[2,3]
dail.csm.t0 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t1, cs = medium
year <- 1; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[2,3]
dail.csm.t1 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t2, cs = medium
year <- 2; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[2,3]
dail.csm.t2 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t3, cs = medium
year <- 3; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[2,3]
dail.csm.t3 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t4, cs = medium
year <- 4; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[2,3]
dail.csm.t4 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t5, cs = medium
year <- 5; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[2,3]
dail.csm.t5 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

# 大卒率低 クラスサイズ大
## t0, cs = large
year <- 0; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[3,3]
dail.csl.t0 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t1, cs = large
year <- 1; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[3,3]
dail.csl.t1 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t2, cs = large
year <- 2; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[3,3]
dail.csl.t2 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t3, cs = large
year <- 3; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[3,3]
dail.csl.t3 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t4, cs = large
year <- 4; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[3,3]
dail.csl.t4 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## t5, cs = large
year <- 5; dai <- koku.gra.tab[1,4]; cs <- koku.gra.tab[3,3]
dail.csl.t5 <- koku.keisu[,1] + 
           koku.keisu[,2] * year + 
           koku.keisu[,3] * dai +
           koku.keisu[,4] * cs +
           koku.keisu[,5] * (dai * cs) +
           koku.keisu[,6] * (year * dai) +
           koku.keisu[,7] * (year * cs) +
           koku.keisu[,8] * (year * dai * cs)

## plotdata.koku
plotdata.koku <- matrix(
                 c(dail.css.t0, dail.css.t1, dail.css.t2, dail.css.t3, dail.css.t4, dail.css.t5, 
                   dail.csm.t0, dail.csm.t1, dail.csm.t2, dail.csm.t3, dail.csm.t4, dail.csm.t5, 
                   dail.csl.t0, dail.csl.t1, dail.csl.t2, dail.csl.t3, dail.csl.t4, dail.csl.t5, 
                   daim.css.t0, daim.css.t1, daim.css.t2, daim.css.t3, daim.css.t4, daim.css.t5, 
                   daim.csm.t0, daim.csm.t1, daim.csm.t2, daim.csm.t3, daim.csm.t4, daim.csm.t5, 
                   daim.csl.t0, daim.csl.t1, daim.csl.t2, daim.csl.t3, daim.csl.t4, daim.csl.t5, 
                   daih.css.t0, daih.css.t1, daih.css.t2, daih.css.t3, daih.css.t4, daih.css.t5, 
                   daih.csm.t0, daih.csm.t1, daih.csm.t2, daih.csm.t3, daih.csm.t4, daih.csm.t5, 
                   daih.csl.t0, daih.csl.t1, daih.csl.t2, daih.csl.t3, daih.csl.t4, daih.csl.t5),
                 nrow = 6, ncol =9) 

rownames(plotdata.koku) <- c("Grade.1", "Grade 2", "Grade 3", "Grade 4", "Grade 5", "Grade 6")
colnames(plotdata.koku) <- c("Grad.Lo.CS.S", "Grad.Lo.CS.M", "Grad.Lo.CS.L",
                             "Grad.Md.CS.S", "Grad.Md.CS.M", "Grad.Md.CS.L",
                             "Grad.Hi.CS.S", "Grad.Hi.CS.M", "Grad.Hi.CS.L")

社会のデータ

## 社会はモデル7(初期値と推移に大卒率が影響)
## shak.res7 <- lmer(shak ~ year + 
#                           dai.c + 
#                           cs.c + 
#                           year:dai.c + 
#                           year:cs.c +
#                           (1|id) + (1|sid), 

# 係数
shak.keisu <- data.frame(
              matrix(c(shak.res7@pp$delb[1],
                       shak.res7@pp$delb[2],
                       shak.res7@pp$delb[3],
                       shak.res7@pp$delb[4],
                       shak.res7@pp$delb[5],
                       shak.res7@pp$delb[6]),
              nrow = 1, ncol = 6))
colnames(shak.keisu) <- c("Intercept", "year", 
                          "dai.c", "cs.c", 
                          "year:dai.c", "year:cs.c")

# 大卒率高 クラスサイズ小
## t0, cs = small
year <- 0; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[1,3]
daih.css.t0 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t1, cs = small
year <- 1; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[1,3]
daih.css.t1 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t2, cs = small
year <- 2; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[1,3]
daih.css.t2 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t3, cs = small
year <- 3; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[1,3]
daih.css.t3 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

# 大卒率高 クラスサイズ中
## t0, cs = medium
year <- 0; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[2,3]
daih.csm.t0 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t1, cs = medium
year <- 1; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[2,3]
daih.csm.t1 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t2, cs = medium
year <- 2; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[2,3]
daih.csm.t2 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t3, cs = medium
year <- 3; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[2,3]
daih.csm.t3 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

# 大卒率高 クラスサイズ大
## t0, cs = large
year <- 0; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[3,3]
daih.csl.t0 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t1, cs = large
year <- 1; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[3,3]
daih.csl.t1 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t2, cs = large
year <- 2; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[3,3]
daih.csl.t2 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t3, cs = large
year <- 3; dai <- shak.gra.tab[3,4]; cs <- shak.gra.tab[3,3]
daih.csl.t3 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

# 大卒率中 クラスサイズ小
## t0, cs = small
year <- 0; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[1,3]
daim.css.t0 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t1, cs = small
year <- 1; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[1,3]
daim.css.t1 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t2, cs = small
year <- 2; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[1,3]
daim.css.t2 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t3, cs = small
year <- 3; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[1,3]
daim.css.t3 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

# 大卒率中 クラスサイズ中
## t0, cs = medium
year <- 0; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[2,3]
daim.csm.t0 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t1, cs = medium
year <- 1; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[2,3]
daim.csm.t1 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t2, cs = medium
year <- 2; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[2,3]
daim.csm.t2 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t3, cs = medium
year <- 3; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[2,3]
daim.csm.t3 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

# 大卒率中 クラスサイズ大
## t0, cs = large
year <- 0; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[3,3]
daim.csl.t0 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t1, cs = large
year <- 1; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[3,3]
daim.csl.t1 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t2, cs = large
year <- 2; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[3,3]
daim.csl.t2 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t3, cs = large
year <- 3; dai <- shak.gra.tab[2,4]; cs <- shak.gra.tab[3,3]
daim.csl.t3 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

# 大卒率低 クラスサイズ小
## t0, cs = small
year <- 0; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[1,3]
dail.css.t0 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t1, cs = small
year <- 1; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[1,3]
dail.css.t1 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t2, cs = small
year <- 2; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[1,3]
dail.css.t2 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t3, cs = small
year <- 3; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[1,3]
dail.css.t3 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t4, cs = small
year <- 4; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[1,3]
dail.css.t4 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t5, cs = small
year <- 5; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[1,3]
dail.css.t5 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

# 大卒率低 クラスサイズ中
## t0, cs = medium
year <- 0; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[2,3]
dail.csm.t0 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t1, cs = medium
year <- 1; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[2,3]
dail.csm.t1 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t2, cs = medium
year <- 2; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[2,3]
dail.csm.t2 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t3, cs = medium
year <- 3; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[2,3]
dail.csm.t3 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

# 大卒率低 クラスサイズ大
## t0, cs = large
year <- 0; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[3,3]
dail.csl.t0 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t1, cs = large
year <- 1; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[3,3]
dail.csl.t1 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t2, cs = large
year <- 2; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[3,3]
dail.csl.t2 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## t3, cs = large
year <- 3; dai <- shak.gra.tab[1,4]; cs <- shak.gra.tab[3,3]
dail.csl.t3 <- shak.keisu[,1] + 
           shak.keisu[,2] * year + 
           shak.keisu[,3] * dai +
           shak.keisu[,4] * cs +
           shak.keisu[,5] * (year * dai) +
           shak.keisu[,6] * (year * cs) 

## plotdata.shak
plotdata.shak <- matrix(
                 c(dail.css.t0, dail.css.t1, dail.css.t2, dail.css.t3,
                   dail.csm.t0, dail.csm.t1, dail.csm.t2, dail.csm.t3,
                   dail.csl.t0, dail.csl.t1, dail.csl.t2, dail.csl.t3,
                   daim.css.t0, daim.css.t1, daim.css.t2, daim.css.t3,
                   daim.csm.t0, daim.csm.t1, daim.csm.t2, daim.csm.t3,
                   daim.csl.t0, daim.csl.t1, daim.csl.t2, daim.csl.t3,
                   daih.css.t0, daih.css.t1, daih.css.t2, daih.css.t3,
                   daih.csm.t0, daih.csm.t1, daih.csm.t2, daih.csm.t3,
                   daih.csl.t0, daih.csl.t1, daih.csl.t2, daih.csl.t3),
                 nrow = 4, ncol =9) 

rownames(plotdata.shak) <- c("Grade 3", "Grade 4", "Grade 5", "Grade 6")
colnames(plotdata.shak) <- c("Grad.Lo.CS.S", "Grad.Lo.CS.M", "Grad.Lo.CS.L",
                             "Grad.Md.CS.S", "Grad.Md.CS.M", "Grad.Md.CS.L",
                             "Grad.Hi.CS.S", "Grad.Hi.CS.M", "Grad.Hi.CS.L")

グラフ

col <- c("1年", "2年", "3年", "4年", "5年", "6年")

#大卒率 低
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.koku[,1:3], type="b", xlim=c(1, 6), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(国語)", 
       main="大学・大学院卒業者数の割合が平均(0.08)より1SD(0.03)低い学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4, 5, 6), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (2.5, 51, #凡例左上の位置を座標で指定
       c("平均学級規模(22.92) - 1SD(6.77)", "平均学級規模(22,92)", "平均学級規模(22.92) + 1SD(6.77)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

#大卒率 中
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.koku[,4:6], type="b", xlim=c(1, 6), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(国語)", 
       main="大学・大学院卒業者数の割合が平均(0.08)の学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4, 5, 6), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (2.5, 51, #凡例左上の位置を座標で指定
       c("平均学級規模(22.92) - 1SD(6.77)", "平均学級規模(22,92)", "平均学級規模(22.92) + 1SD(6.77)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

#大卒率 高
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.koku[,7:9], type="b", xlim=c(1, 6), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(国語)", 
       main="大学・大学院卒業者数の割合が平均(0.08)より1SD(0.03)高い学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4, 5, 6), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (2.5, 51, #凡例左上の位置を座標で指定
       c("平均学級規模(22.92) - 1SD(6.77)", "平均学級規模(22,92)", "平均学級規模(22.92) + 1SD(6.77)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

社会

col <- c("3年", "4年", "5年", "6年")

#大卒率 低
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.shak[,1:3], type="b", xlim=c(1, 4), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(社会)", 
       main="大学・大学院卒業者数の割合が平均(0.07)より1SD(0.03)低い学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (1.5, 51.5, #凡例左上の位置を座標で指定
       c("平均学級規模(22.06) - 1SD(5.98)", "平均学級規模(22.06)", "平均学級規模(22.06) + 1SD(5.98)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

#大卒率 中
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.shak[,4:6], type="b", xlim=c(1, 4), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(社会)", 
       main="大学・大学院卒業者数の割合が平均(0.07)の学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (1.5, 51.5, #凡例左上の位置を座標で指定
       c("平均学級規模(22.06) - 1SD(5.98)", "平均学級規模(22.06)", "平均学級規模(22.06) + 1SD(5.98)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

#大卒率 高
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.shak[,7:9], type="b", xlim=c(1, 4), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(社会)", 
       main="大学・大学院卒業者数の割合が平均(0.07)より1SD(0.03)高い学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (1.5, 51.5, #凡例左上の位置を座標で指定
       c("平均学級規模(22.06) - 1SD(5.98)", "平均学級規模(22.06)", "平均学級規模(22.06) + 1SD(5.98)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

グラフを3つ並べてみる

国語

col <- c("1年", "2年", "3年", "4年", "5年", "6年")
par(oma = c(0, 0, 4, 0)) 
par(mfrow=c(1,3)) 
#大卒率 低
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.koku[,1:3], type="b", xlim=c(1, 6), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(国語)", 
       main="大学・大学院卒業者数の割合が平均(0.08)より1SD(0.03)低い学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4, 5, 6), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (2.5, 51, #凡例左上の位置を座標で指定
       c("平均学級規模(22.92) - 1SD(6.77)", "平均学級規模(22,92)", "平均学級規模(22.92) + 1SD(6.77)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

#大卒率 中
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.koku[,4:6], type="b", xlim=c(1, 6), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(国語)", 
       main="大学・大学院卒業者数の割合が平均(0.08)の学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4, 5, 6), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (2.5, 51, #凡例左上の位置を座標で指定
       c("平均学級規模(22.92) - 1SD(6.77)", "平均学級規模(22,92)", "平均学級規模(22.92) + 1SD(6.77)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

#大卒率 高
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.koku[,7:9], type="b", xlim=c(1, 6), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(国語)", 
       main="大学・大学院卒業者数の割合が平均(0.08)より1SD(0.03)高い学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4, 5, 6), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (2.5, 51, #凡例左上の位置を座標で指定
       c("平均学級規模(22.92) - 1SD(6.77)", "平均学級規模(22,92)", "平均学級規模(22.92) + 1SD(6.77)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

社会

col <- c("3年", "4年", "5年", "6年")
par(oma = c(0, 0, 4, 0)) 
par(mfrow=c(1,3)) 

#大卒率 低
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.shak[,1:3], type="b", xlim=c(1, 4), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(社会)", 
       main="大学・大学院卒業者数の割合が平均(0.07)より1SD(0.03)低い学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (2.5, 51, #凡例左上の位置を座標で指定
       c("平均学級規模(22.06) - 1SD(5.98)", "平均学級規模(22.06)", "平均学級規模(22.06) + 1SD(5.98)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

#大卒率 中
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.shak[,4:6], type="b", xlim=c(1, 4), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(社会)", 
       main="大学・大学院卒業者数の割合が平均(0.07)の学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (2.5, 51, #凡例左上の位置を座標で指定
       c("平均学級規模(22.06) - 1SD(5.98)", "平均学級規模(22.06)", "平均学級規模(22.06) + 1SD(5.98)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)

#大卒率 高
mar = c(4,4,4,4) # 余白を小さく
# oma = c(0,0,0,0) # デバイス領域(インチで幅と高さ)
par(family = "HiraKakuProN-W3") #Macintoshの場合

matplot(plotdata.shak[,7:9], type="b", xlim=c(1, 4), ylim = c(50, 55), axes=F, 
       xlab="学年", ylab="学力偏差値(社会)", 
       main="大学・大学院卒業者数の割合が平均(0.07)より1SD(0.03)高い学区の学校の場合",
       mgp = c(2, 0.7, 0),
       lwd=1, #やや太く
       lty = c(2, 1, 4), #線種は以下の通り
       ## lty="solid" or 1→実線
       ## lty="dashed" or 2→ダッシュ
       ## lty="dotted" or 3→ドット
       ## lty="dotdash" or 4→ドットとダッシュ
       ## lty="longdash" or 5→長いダッシュ
       ## lty="twodash" or 6→二つのダッシュ
       col = c(1, 1, 1), #色は以下の通り
       ## 順に黒,赤,緑,青,水色,紫,黄,灰
       pch = c(15, 16, 17),
       cex = 1,     # 記号の大きさ(標準は1)
       cex.lab = 1.0, # 軸の説明の字の大きさ
       cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
       cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1, 2, 3, 4), labels = col)
axis(side=2, at=c(50, 51, 52, 53, 54, 55))

## 凡例をつける
legend (2.5, 51, #凡例左上の位置を座標で指定
       c("平均学級規模(22.06) - 1SD(5.98)", "平均学級規模(22.06)", "平均学級規模(22.06) + 1SD(5.98)"),
       lwd = 1, #線を太めに
       lty = c(2, 1, 4), #線種
       col = c(1, 1, 1), #線の
       pch = c(15, 16, 17), 
       bty = "n", #枠なし
       bg = "n", #背景色なし
       cex = 1.0, #文字の大きさを基準の__%
)