pcreg<-function(x,y,s=0) { x<-as.matrix(x) p<-dim(x)[2] e<-eigen(t(x)%*%x,symmetric=TRUE) beta.ls<-lsfit(x,y,intercept=FALSE)$coef B<-diag(c(rep(1,p-s),rep(0,s))) beta.pc<-e$vectors%*%B%*%t(e$vectors)%*%as.matrix(beta.ls) beta.pc }