library(bootstrap)

postscript("Boot-scor-scatter.ps")
par(pty="s")
pairs(scor,pch=19,cex=0.75)
dev.off()
par(pty="m")

X<-data.matrix(scor)
for(j in 1:ncol(X)){X[,j]<-X[,j]-mean(X[,j])}

S<-t(X) %*% X/88

true.lam<-eigen(S)$values
V.mat<-eigen(S)$vectors

Z<-X*0
for(i in 1:5){
	Z[,i]<-X %*% V.mat[,i] 
}

postscript("Boot-scor-pc.ps")
plot(Z[,1:2],pch=19,xlab=expression(z[1]),ylab=expression(z[2]),
xlim=range(-100,100),ylim=range(-100,100))
dev.off()


S - V.mat %*% diag(true.lam) %*% t(V.mat)

n<-nrow(X)

index<-c(1:n)
B<-2000
lam.boot<-matrix(0,nrow=B,ncol=ncol(X))
for(b in 1:B){

	ind.boot<-sample(index,size=n,rep=T)
	X.boot<-X[ind.boot,]
	S.boot<-t(X.boot) %*% X.boot/n

	lam.boot[b,]<-eigen(S.boot)$values

}

lam.boot.vec<-as.vector(lam.boot)
lam.boot.ind<-rep(c(1:ncol(X)),each=B)

postscript("Boot-scor-lam.ps")
boxplot(lam.boot.vec~lam.boot.ind)
#points(c(1:5),true.lam,col="red",pch=19)
dev.off()

theta.boot<-t(apply(lam.boot,1,function(x){return(x/sum(x))}))

theta.boot.vec<-as.vector(theta.boot)
theta.boot.ind<-rep(c(1:ncol(X)),each=B)

postscript("Boot-scor-theta.ps")
boxplot(theta.boot.vec~lam.boot.ind,ylim=range(0,1))
#points(c(1:5),true.lam,col="red",pch=19)
dev.off()


theta.cumul.boot<-t(apply(theta.boot,1,cumsum))

theta.cumul.boot.vec<-as.vector(theta.cumul.boot)
theta.cumul.boot.ind<-rep(c(1:ncol(X)),each=B)


postscript("Boot-scor-theta-cumul.ps")
boxplot(theta.cumul.boot.vec~lam.boot.ind,ylim=range(0,1))
#points(c(1:5),true.lam,col="red",pch=19)
dev.off()




