| n <- length(x)c <- array(NA,dim=c(401))
 l <- array(NA,dim=c(401))
 mx <- 0
 mxli <- -999
 for (i in 1:401)
 {
 l[i] <- (i-201)/100
 if (l[i] != 0)
 {
 x1 <- (x^l[i] - 1) / l[i]
 } else {
 x1 <- log(x)
 }
 c[i] <- cor(qnorm(ppoints(x), mean=0, sd=1),x1)
 if (mx < c[i])
 {
 mx <- c[i]
 mxli <- l[i]
 }
 }
 c
 mx
 mxli
 if (mxli != 0)
 {
 x1 <- (x^mxli - 1) / mxli
 } else {
 x1 <- log(x)
 }
 bitmap(file='test1.png')
 plot(l,c,main='Box-Cox Normality Plot',xlab='Lambda',ylab='correlation')
 mtext(paste('Optimal Lambda =',mxli))
 grid()
 dev.off()
 bitmap(file='test2.png')
 hist(x,main='Histogram of Original Data',xlab='X',ylab='frequency')
 grid()
 dev.off()
 bitmap(file='test3.png')
 hist(x1,main='Histogram of Transformed Data',xlab='X',ylab='frequency')
 grid()
 dev.off()
 bitmap(file='test4.png')
 qqnorm(x)
 qqline(x)
 grid()
 mtext('Original Data')
 dev.off()
 bitmap(file='test5.png')
 qqnorm(x1)
 qqline(x1)
 grid()
 mtext('Transformed Data')
 dev.off()
 load(file='createtable')
 a<-table.start()
 a<-table.row.start(a)
 a<-table.element(a,'Box-Cox Normality Plot',2,TRUE)
 a<-table.row.end(a)
 a<-table.row.start(a)
 a<-table.element(a,'# observations x',header=TRUE)
 a<-table.element(a,n)
 a<-table.row.end(a)
 a<-table.row.start(a)
 a<-table.element(a,'maximum correlation',header=TRUE)
 a<-table.element(a,mx)
 a<-table.row.end(a)
 a<-table.row.start(a)
 a<-table.element(a,'optimal lambda',header=TRUE)
 a<-table.element(a,mxli)
 a<-table.row.end(a)
 a<-table.end(a)
 table.save(a,file='mytable.tab')
 
 |