Hashimoto (1956)

Study 1

小6算数・割合

fb11 <- c(65.3, 66.3)
fb12 <- c(65.6, 66.4)
fb13 <- c(65.6, 73.2)
fb10 <-rbind(fb11, fb12, fb13)
col <- c("事前", "事後")
colnames(fb10) <- col

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

matplot(t(fb10), type="b", xlim=c(1.0, 2), ylim = c(65, 75), axes=F, xlab="テスト", ylab="事後テスト得点", main="", 
mgp = c(2, 0.7, 0), lwd=2, #やや太く
lty = c(1, 2, 3), #線種は以下の通り
## 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.5,     # 記号の大きさ(標準は1)
cex.lab = 1.0, # 軸の説明の字の大きさ
cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1,2), labels = col)
axis(side=2, at=c(65,70,75))

legend (1, 75, #凡例左上の位置を座標で指定
c("答案返却なし", "正誤フィードバック", "正誤と説明フィードバック"),
lwd = 1, #線を太めに
lty = c(1, 2, 3), #線種
pch = c(15, 16, 17),
col = c(1, 1, 1), #線の

bty = "n", #枠なし
bg = "n", #背景色なし
cex = 1.0 #文字の大きさを基準の__%
)

Study 2

小4 国語・漢字書き取り

fb21 <- c(15.0, 15.7)
fb22 <- c(14.9, 15.9)
fb23 <- c(15.0, 17.6)
fb20 <-rbind(fb21, fb22, fb23)
col <- c("事前", "事後")
colnames(fb20) <- col

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

matplot(t(fb20), type="b", xlim=c(1.0, 2), ylim = c(10, 20), axes=F, xlab="テスト", ylab="事後テスト得点", main="", 
mgp = c(2, 0.7, 0), lwd=2, #やや太く
lty = c(1, 2, 3), #線種は以下の通り
## 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.5,     # 記号の大きさ(標準は1)
cex.lab = 1.0, # 軸の説明の字の大きさ
cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1,2), labels = col)
axis(side=2, at=c(10,15,20))

legend (1, 20, #凡例左上の位置を座標で指定
c("答案返却なし", "正誤フィードバック", "正誤と説明フィードバック"),
lwd = 1, #線を太めに
lty = c(1, 2, 3), #線種
pch = c(15, 16, 17),
col = c(1, 1, 1), #線の

bty = "n", #枠なし
bg = "n", #背景色なし
cex = 1.0 #文字の大きさを基準の__%
)

Study 3

小5 算数・分数

fb31 <- c(9.2, 9.1)
fb32 <- c(8.9, 8.5)
fb33 <- c(9.3, 10.0)
fb30 <-rbind(fb31, fb32, fb33)
col <- c("事前", "事後")
colnames(fb30) <- col

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

matplot(t(fb30), type="b", xlim=c(1.0, 2), ylim = c(5, 15), axes=F, xlab="テスト", ylab="事後テスト得点", main="", 
mgp = c(2, 0.7, 0), lwd=2, #やや太く
lty = c(1, 2, 3), #線種は以下の通り
## 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.5,     # 記号の大きさ(標準は1)
cex.lab = 1.0, # 軸の説明の字の大きさ
cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1,2), labels = col)
axis(side=2, at=c(5,10,15))

legend (1, 15, #凡例左上の位置を座標で指定
c("答案返却なし", "正誤フィードバック", "正誤と説明フィードバック"),
lwd = 1, #線を太めに
lty = c(1, 2, 3), #線種
pch = c(15, 16, 17),
col = c(1, 1, 1), #線の

bty = "n", #枠なし
bg = "n", #背景色なし
cex = 1.0 #文字の大きさを基準の__%
)

Study 5

小6 国語・漢字

fb51 <- c(8.2, 10.4)
fb52 <- c(8.0, 10.9)
fb53 <- c(8.3, 13.5)
fb50 <-rbind(fb51, fb52, fb53)
col <- c("事前", "事後")
colnames(fb50) <- col

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

matplot(t(fb50), type="b", xlim=c(1.0, 2), ylim = c(5, 15), axes=F, xlab="テスト", ylab="事後テスト得点", main="", 
mgp = c(2, 0.7, 0), lwd=2, #やや太く
lty = c(1, 2, 3), #線種は以下の通り
## 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.5,     # 記号の大きさ(標準は1)
cex.lab = 1.0, # 軸の説明の字の大きさ
cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1,2), labels = col)
axis(side=2, at=c(5,10,15))

legend (1, 15, #凡例左上の位置を座標で指定
c("答案返却なし", "正誤フィードバック", "正誤と説明フィードバック"),
lwd = 1, #線を太めに
lty = c(1, 2, 3), #線種
pch = c(15, 16, 17),
col = c(1, 1, 1), #線の

bty = "n", #枠なし
bg = "n", #背景色なし
cex = 1.0 #文字の大きさを基準の__%
)

Yamamori (2018)

# ディレクトリの指定
## c3_56_shak FFB
fb1 <- c(52.95, 53.00) #FBあり プレ ポス
fb0 <- c(52.95, 51.33) #FBなし プレ ポス
plotdata <-rbind(fb1, fb0)
col <- c("5年4月", "6年4月")

colnames(plotdata) <- col

par(family="HiraKakuProN-W3")#Macintoshの場合

## グラフ
# 余白を小さく
mar = c(4,4,4,4)
# oma = c(0,0,0,0)
# デバイス領域(インチで幅と高さ)

matplot(t(plotdata), type="b", xlim=c(1.0, 2.2), ylim = c(40, 60), axes=F, xlab="", ylab="学力偏差値", main="", 
mgp = c(2, 0.7, 0), lwd=2, #やや太く
lty = c(1,2), #線種は以下の通り
## 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), #色は以下の通り
## 順に黒,赤,緑,青,水色,紫,黄,灰
pch = c(15, 16),

cex = 1,     # 記号の大きさ(標準は1)
cex.lab = 1.0, # 軸の説明の字の大きさ
cex.axis = 1.0, # 軸の数字等(ラベル)の大きさ
cex.main = 0.8 # メインタイトルの字の大きさ
)
axis(side=1, at=c(1,2), labels = col)
axis(side=2, at=c(40,50,60))

segments(2.05, fb0[2], 2.10, fb0[2], lty = 3)
segments(2.05, fb1[2], 2.10, fb1[2], lty = 3)
segments(2.10, fb0[2], 2.10, fb1[2], lty = 3)
keisu <- c("1.67")
text(2.17, (fb0[2]+(fb1[2]-fb0[2])/2), label=keisu, cex=1.0)
# 凡例をつける
legend (1.0, 60, #凡例左上の位置を座標で指定
c("達成目標・実現状況提示頻度:高", "達成目標・実現状況提示頻度:低"),
lwd = 1, #線を太めに
lty = c(1,2), #線種
col = c(1,1), #線の
pch = c(15, 16),
bty = "n", #枠なし
bg = "n", #背景色なし
cex = 1.0#文字の大きさを基準の__%
)

Yamamori (2014)

## 経験年数でサブセットを作る
### 10年以下
koku_nv <- subset(koku_cs, Q38 > 0 & Q38 < 11)
nrow(koku_nv) #人数
## [1] 105
## 対象学校数
nrow(table(koku_cs$schl))
## [1] 163
## 対象学級数(担任数)
nrow(koku_cs)
## [1] 502
## MCMCロジット
library(MCMCpack)
## Loading required package: coda
## ##
## ## Markov Chain Monte Carlo Package (MCMCpack)
## ## Copyright (C) 2003-2019 Andrew D. Martin, Kevin M. Quinn, and Jong Hee Park
## ##
## ## Support provided by the U.S. National Science Foundation
## ## (Grants SES-0350646 and SES-0350613)
## ##
### 経験年数10年以下
koku.nv.mc.res.Q31S1 <- MCMClogit(Q31S1~size, data=koku_nv, burnin=10000,mcmc=50000)
koku.nv.mc.res.Q31S2 <- MCMClogit(Q31S2~size, data=koku_nv, burnin=10000,mcmc=50000)

summary(koku.nv.mc.res.Q31S1)
## 
## Iterations = 10001:60000
## Thinning interval = 1 
## Number of chains = 1 
## Sample size per chain = 50000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                 Mean      SD  Naive SE Time-series SE
## (Intercept)  1.95678 1.06966 0.0047837      0.0144741
## size        -0.05206 0.04066 0.0001818      0.0005519
## 
## 2. Quantiles for each variable:
## 
##                 2.5%      25%      50%      75%   97.5%
## (Intercept) -0.06719  1.23393  1.92868  2.64337 4.14000
## size        -0.13433 -0.07837 -0.05142 -0.02458 0.02613
summary(koku.nv.mc.res.Q31S2)
## 
## Iterations = 10001:60000
## Thinning interval = 1 
## Number of chains = 1 
## Sample size per chain = 50000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                Mean      SD Naive SE Time-series SE
## (Intercept)  3.4610 1.20483 0.005388      0.0163451
## size        -0.1147 0.04517 0.000202      0.0006229
## 
## 2. Quantiles for each variable:
## 
##                2.5%     25%     50%      75%    97.5%
## (Intercept)  1.2322  2.6201  3.4226  4.23271  5.96845
## size        -0.2084 -0.1438 -0.1133 -0.08335 -0.03061
quantile(koku.nv.mc.res.Q31S1[,2], c(.05, .95))
##         5%        95% 
## -0.1202410  0.0136436
quantile(koku.nv.mc.res.Q31S2[,2], c(.05, .95))
##         5%        95% 
## -0.1917378 -0.0439850
geweke.diag(koku.nv.mc.res.Q31S1)
## 
## Fraction in 1st window = 0.1
## Fraction in 2nd window = 0.5 
## 
## (Intercept)        size 
##      0.1102      0.5105
geweke.diag(koku.nv.mc.res.Q31S2)
## 
## Fraction in 1st window = 0.1
## Fraction in 2nd window = 0.5 
## 
## (Intercept)        size 
##     -0.4235      0.8281
par(family="HiraKakuProN-W3")#Macintoshの場合
plot(koku_nv$size, xlim=c(0,40), koku_nv$Q31S2, pch="", col=8, xaxt="n", yaxt="n", xlab="", ylab="", axes=F)

par(new=T)

plot(koku_nv$size, xlim=c(0,40), koku_nv$Q31S1, pch="", xaxt="n", yaxt="n", xlab="クラスサイズ", ylab="実施頻度が「いつも・ほとんど」の割合", axes=F)
axis(side=1, at=seq(0, 40, 5), cex.axis = 1.0)
axis(side=2, at=seq(0, 1, 0.2),labels=c("0.0", "0.2", "0.4", "0.6", "0.8", "1.0"),cex.axis = 1.0)

# ロジスティック曲線のための値取り出し
i.koku.nv.res.Q31S2 <- mean(koku.nv.mc.res.Q31S2[,1])
s.koku.nv.res.Q31S2 <- mean(koku.nv.mc.res.Q31S2[,2])

i.koku.nv.res.Q31S1 <- mean(koku.nv.mc.res.Q31S1[,1])
s.koku.nv.res.Q31S1 <- mean(koku.nv.mc.res.Q31S1[,2])

# 曲線に流し込むx軸範囲と区切り
x <- seq(0, 40, 1)

# ロジスティック曲線の式
y.koku.nv.res.Q31S2 <- 1 / (1 + exp(-i.koku.nv.res.Q31S2 - s.koku.nv.res.Q31S2 * x))
y.koku.nv.res.Q31S1 <- 1 / (1 + exp(-i.koku.nv.res.Q31S1 - s.koku.nv.res.Q31S1 * x))

# 曲線描画
lines(x, y.koku.nv.res.Q31S2, lty=1)
lines(x, y.koku.nv.res.Q31S1, lty=2)

# 凡例
legend(20, 1.0, c("理由・考え方", "正誤"), lty=c(1, 2), col=c(1, 1), bty= "n", cex=1.0)

## MCMCロジット
library(MCMCpack)
### 経験年数10年以下
koku.nv.mc.res.Q31S2 <- MCMClogit(Q31S2~size, data=koku_nv, burnin=10000,mcmc=50000)

summary(koku.nv.mc.res.Q31S2)
## 
## Iterations = 10001:60000
## Thinning interval = 1 
## Number of chains = 1 
## Sample size per chain = 50000 
## 
## 1. Empirical mean and standard deviation for each variable,
##    plus standard error of the mean:
## 
##                Mean      SD Naive SE Time-series SE
## (Intercept)  3.4610 1.20483 0.005388      0.0163451
## size        -0.1147 0.04517 0.000202      0.0006229
## 
## 2. Quantiles for each variable:
## 
##                2.5%     25%     50%      75%    97.5%
## (Intercept)  1.2322  2.6201  3.4226  4.23271  5.96845
## size        -0.2084 -0.1438 -0.1133 -0.08335 -0.03061
quantile(koku.nv.mc.res.Q31S2[,2], c(.05, .95))
##         5%        95% 
## -0.1917378 -0.0439850
geweke.diag(koku.nv.mc.res.Q31S2)
## 
## Fraction in 1st window = 0.1
## Fraction in 2nd window = 0.5 
## 
## (Intercept)        size 
##     -0.4235      0.8281
par(family="HiraKakuProN-W3")#Macintoshの場合
plot(koku_nv$size, xlim=c(0,40), koku_nv$Q31S2, pch="", col=8, xaxt="n", yaxt="n", xlab="", ylab="", axes=F)

par(new=T)

plot(koku_nv$size, xlim=c(0,40), koku_nv$Q31S1, pch="", xaxt="n", yaxt="n", xlab="クラスサイズ", ylab="実施頻度が「いつも・ほとんど」の割合", axes=F)
axis(side=1, at=seq(0, 40, 5), cex.axis = 1.0)
axis(side=2, at=seq(0, 1, 0.2),labels=c("0.0", "0.2", "0.4", "0.6", "0.8", "1.0"),cex.axis = 1.0)

# ロジスティック曲線のための値取り出し
i.koku.nv.res.Q31S2 <- mean(koku.nv.mc.res.Q31S2[,1])
s.koku.nv.res.Q31S2 <- mean(koku.nv.mc.res.Q31S2[,2])

# 曲線に流し込むx軸範囲と区切り
x <- seq(0, 40, 1)

# ロジスティック曲線の式
y.koku.nv.res.Q31S2 <- 1 / (1 + exp(-i.koku.nv.res.Q31S2 - s.koku.nv.res.Q31S2 * x))

# 曲線描画
lines(x, y.koku.nv.res.Q31S2, lty=1)

# 凡例
#legend(20, 1.0, c("理由・考え方", "正誤"), lty=c(1, 2), col=c(1, 1), bty= "n", cex=1.0)