Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data:
0.078125 0.078125 0.078125 0.921875 1.078125 1.921875 0.078125 1.078125 1.078125 0.921875 0.078125 1.078125 0.078125 1.078125 2.921875 0.078125 1.078125 0.078125 0.078125 2.921875 0.078125 1.921875 0.078125 1.078125 0.078125 0.078125 0.078125 1.921875 0.078125 0.078125 0.078125 0.078125 0.078125 1.921875 0.078125 0.078125 0.078125 0.078125 0.078125 0.078125 0.921875 0.921875 1.078125 1.078125 1.078125 1.921875 0.078125 0.078125 0.078125 1.078125 0.078125 0.078125 0.078125 1.078125 1.078125 1.078125 0.078125 0.921875 1.078125 1.078125 1.078125 0.078125 1.078125 1.921875
Type of transformation
Full Box-Cox transform
Full Box-Cox transform
Simple Box-Cox transform
Minimum lambda
-2
-2
-8
-7
-6
-5
-4
-3
-2
-1
Maximum lambda
2
2
1
2
3
4
5
6
7
8
Constant term to be added before analysis is performed
(?)
Display table with original and transformed data?
No
No
Yes
Chart options
R Code
par5 <- 'No' par4 <- '0' par3 <- '2' par2 <- '-2' par1 <- 'Full Box-Cox transform' par2 <- abs(as.numeric(par2)*100) par3 <- as.numeric(par3)*100 if(par4=='') par4 <- 0 par4 <- as.numeric(par4) numlam <- par2 + par3 + 1 x <- x + par4 n <- length(x) c <- array(NA,dim=c(numlam)) l <- array(NA,dim=c(numlam)) mx <- -1 mxli <- -999 for (i in 1:numlam) { l[i] <- (i-par2-1)/100 if (l[i] != 0) { if (par1 == 'Full Box-Cox transform') x1 <- (x^l[i] - 1) / l[i] if (par1 == 'Simple Box-Cox transform') x1 <- x^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] x1.best <- x1 } } c mx mxli x1.best if (mxli != 0) { if (par1 == 'Full Box-Cox transform') x1 <- (x^mxli - 1) / mxli if (par1 == 'Simple Box-Cox transform') x1 <- x^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) if(mx<0) { a<-table.row.start(a) a<-table.element(a,'Warning: maximum correlation is negative! The Box-Cox transformation must not be used.',2) a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable.tab') if(par5=='Yes') { a<-table.start() a<-table.row.start(a) a<-table.element(a,'Obs.',header=T) a<-table.element(a,'Original',header=T) a<-table.element(a,'Transformed',header=T) a<-table.row.end(a) for (i in 1:n) { a<-table.row.start(a) a<-table.element(a,i) a<-table.element(a,x[i]) a<-table.element(a,x1.best[i]) a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable1.tab') }
Compute
Summary of computational transaction
Raw Input
view raw input (R code)
Raw Output
view raw output of R engine
Computing time
0 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation