Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data:
11 19 16 24 15 17 19 19 28 26 15 26 16 24 25 22 15 21 22 27 26 26 22 21 22 20 21 20 22 21 8 22 20 24 17 20 23 20 22 19 15 20 22 17 14 24 17 23 25 16 18 20 18 23 24 23 13 20 20 19 22 22 15 17 19 20 22 21 21 16 20 21 20 23 18 22 16 17 24 13 19 20 22 19 21 15 21 24 22 20 21 19 14 25 11 17 22 20 22 15 23 20 22 16 25 18 19 25 21 22 21 22 23 20 6 15 18 24 22 21 23 20 20 18 25 16 20 14 22 26 20 17 22 22 20 17 22 17 22 21 25 11 19 24 17 22 17 26 20 19 21 24 21 19 13 24 28 27 22 23 19 18 23 21 22 17 15 21 20 26 19 28 21 19 22 21 20 19 11 17 19 20 17 21 21 12 23 22 22 21 20 18 21 24 22 20 17 19 16 19 23 8 22 23 15 17 21 25 18 20 21 21 24 22 22 23 17 15 22 19 18 21 20 19 19 16 18 23 22 23 20 24 25 25 20 23 21 23 23 11 21 27 19 21 16 21 22 16 18 23 24 20 20 18 4 14 22 17 23 20 18 19 20 15 24 21 19 19 27 23 23 20 17 21 23 22 16 20 16 21 19 27 13 17 18 20 22 18 6 22 15 19 17 22 10 21 23 18 20 27 13 20 20 22 20 23 19 22 24 21 19 20 16 17 25 16 23 20 23 22 15 16 20 23 24 17 19 25 14 18 22 15 27 22 26 16 25 20 19 19 24 14 18 13 19 25 20 17 17 13 20 20 24 25 19 20 20 22 18 21 20 11 18 22 21 15 23 18 23 19 23 26 19 26 20 20 23 24 26 23 19 25 23 19 27 23 24 20 16 22 26 26 24 20 20 12 21 27 26 17 20 18 28 24 24 24 12 26 23 13 23 16 23 18 25 18 18 21 7 19 21 17 22 15 20 19 10 18 25 23 25 23 21 23 19 22 23 15 23 23 24 20 23 24 21 19 23 22 14 19 21 23 16 23 19 19 22 26 22 24 24 11 21 21 22 22 19 18 19 27 14 15 20 22 26 20 13 26 19 20 18 20 21 26 25 20 21
Type of transformation
0 1
Full Box-Cox transform
Simple Box-Cox transform
Minimum lambda
-2
-8
-7
-6
-5
-4
-3
-2
-1
Maximum lambda
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
Yes
Chart options
R Code
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