- 初期値依存のとき
- 時系列で記録する。グループ別に記録する。ただし、時刻0での値は、ある状態を反映しているので、それを織り込むことが妥当だとする
- 以下で解析しているのは、次に示すグラフ(左は2群を併せたもの、中央と右が群別の経過)のうち上の方の区別がしにくい方。下の方はどのような区別があるのかが分かりやすいように乱雑項を小さくした図(この図だと2方法のどちらでも強い統計的有意性が示される)
n.s <- 200
n.t <- 3
p <- sample(1:2,n.s,replace=TRUE)
s1 <- which(p==1)
s0 <- which(p==2)
X <- matrix(0,n.s,n.t)
X[,1] <- rnorm(n.s,1)
X[,2] <- X[,1] + 0.2*X[,1]/mean(X[,1])*(p-1)+rnorm(n.s,0,0.7)
X[,3] <- X[,2] + 0.2*X[,1]/mean(X[,1])*(p-1)+rnorm(n.s,0,0.6)
boxplot(X)
XX <- cbind(c(X),expand.grid(1:n.s,1:n.t))
XX.fr <- data.frame(id=XX[,2],group=p[XX[,2]],time=XX[,3],pulse=XX[,1])
XX.fr <- within(XX.fr, {
group <- factor(group)
time <- factor(time)
id <- factor(id)
})
with(XX.fr, interaction.plot(time, group, pulse,
lty= c(1, 12), lwd = 3,
ylab = "mean of pulse", xlab = "time", trace.label = "group"))
out.aov <- aov(pulse ~ group * time + Error(id), data = XX.fr)
XX.fr.2 <- data.frame(id=XX[,2],group=p[XX[,2]],time=XX[,3],pulse=XX[,1],pulse0=X[XX[,2],1])
XX.fr.2 <- within(XX.fr.2, {
group <- factor(group)
time <- factor(time)
id <- factor(id)
})
with(XX.fr.2, interaction.plot(time, group, pulse,
lty= c(1, 12), lwd = 3,
ylab = "mean of pulse", xlab = "time", trace.label = "group"))
out.aov.2 <- aov(pulse ~ group * time * pulse0 + Error(id), data = XX.fr.2)
par(mfcol=c(1,3))
boxplot(X)
boxplot(X[s0,])
boxplot(X[s1,])
par(mfcol=c(1,1))
par(mfcol=c(1,3))
matplot(t(X),type="l",ylim=range(X))
matplot(t(X[s0,]),type="l",ylim=range(X))
matplot(t(X[s1,]),type="l",ylim=range(X))
par(mfcol=c(1,1))
summary(out.aov)
summary(out.aov.2)
> summary(out.aov)
Error: id
Df Sum Sq Mean Sq F value Pr(>F)
group 1 11.2 11.237 2.6 0.108
Residuals 198 855.9 4.323
Error: Within
Df Sum Sq Mean Sq F value Pr(>F)
time 2 6.50 3.251 11.487 1.41e-05 ***
group:time 2 0.35 0.177 0.625 0.536
Residuals 396 112.06 0.283
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> summary(out.aov.2)
Error: id
Df Sum Sq Mean Sq F value Pr(>F)
group 1 11.2 11.2 17.46 4.41e-05 ***
pulse0 1 721.8 721.8 1121.75 < 2e-16 ***
group:pulse0 1 8.1 8.1 12.55 0.000496 ***
Residuals 196 126.1 0.6
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Error: Within
Df Sum Sq Mean Sq F value Pr(>F)
time 2 6.50 3.251 12.614 4.91e-06 ***
group:time 2 0.35 0.177 0.686 0.504217
time:pulse0 2 4.10 2.048 7.948 0.000414 ***
group:time:pulse0 2 6.95 3.473 13.477 2.19e-06 ***
Residuals 392 101.02 0.258
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘