変数

  • こちらに要因によって分けましょう、という話
  • どういう風に、「ほら、要因を入れるとこんな感じ」と説明できるだろうか
  • あらかじめ情報を取って割り付けに使うことと、情報を使うことは別だが…
  • 要因数とサンプル数とかも含めて
    • サンプル数100の場合と1000の場合と


# サンプル数
n <- 1000
# n <- 100
# 要因数
D <- 30
#d <- 20
# 0/1カテゴリカル要因と量的要因
ps <- matrix(0,D,D)
ps2 <- matrix(0,D,D)
# 実際に影響する要因数を増やしていく
for(i in 1:D){
	X <- matrix(rnorm(n*i),ncol=i)
	X2 <- matrix(sample(0:1,n*i,replace=TRUE),ncol=i)
	Y <- apply(X,1,sum)
# Yの誤差は要因の分散に依存させておこう
	Y <- Y + rnorm(length(X[,1]),0,sum(apply(X,2,sd)))
	Y2 <- apply(X2,1,sum)
	Y2 <- Y2 + +rnorm(length(X2[,1]),0,sum(apply(X2,2,sd)))
	tmp.ps <- rep(0,i)
	tmp.ps2 <- rep(0,i)
# 解析には要因のうちの一部しか使わないかもしれない
	for(j in 1:i){
		tmp.out <- anova(lm(Y~X[,1:j]))
		tmp.out2 <- anova(lm(Y2~X2[,1:j]))
		tmp.ps[j] <- tmp.out[[5]][1]
		tmp.ps2[j] <- tmp.out2[[5]][1]
	}
	ps[i, 1:i] <- tmp.ps
	ps2[i, 1:i] <- tmp.ps2
	par(mfcol=c(1,2))
	plot(1:i,tmp.ps)
	plot(1:i,tmp.ps2)
	par(mfcol=c(1,1))
}
par(mfcol=c(1,2))
matplot(t(ps),type="l",ylim=c(0,1))
matplot(t(ps2),type="l",ylim=c(0,1))
par(mfcol=c(1,1))