Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data:
426.7 365.3 392.0 397.3 413.3 619.7 606.7 546.0 459.3 585.0 502.7 416.0 541.7 502.7 533.0 390.0 520.0 485.3 494.0 515.7 593.7 645.7 550.3 598.0 576.3 658.7 589.3 671.7 397.3 312.0 301.3 258.7 322.7 416.0 408.0 344.0 330.7 413.3 424.0 424.0 496.0 424.0 538.7 376.0 525.3 472.0 472.0 498.7 504.0 501.3 469.3 581.3 658.7 853.3 778.7 na 317.3 245.3 216.0 192.0 274.7 325.3 301.3 237.3 282.7 376.0 288.0 288.0 277.3 269.3 304.0 202.7 328.0 408.0 413.3 490.7 576.0 581.3 538.7 592.0 597.3 746.7 656.0 685.3 170.7 101.3 88.0 88.0 189.3 232.0 160.0 160.0 216.0 325.3 229.3 221.3 178.7 197.3 218.7 133.3 389.3 389.3 378.7 392.0 525.3 506.7 522.7 568.0 597.3 714.7 640.0 696.0 61.3 53.3 56.0 34.7 93.3 117.3 53.3 56.0 88.0 149.3 128.0 114.7 64.0 61.3 96.0 37.3 176.0 149.3 122.7 138.7 410.7 402.7 381.3 434.7 616.0 658.7 522.7 538.7 31.0 38.0 66.0 31.0 47.0 46.0 61.0 43.0 44.0 53.0 86.0 62.0 33.0 47.0 50.0 30.0 50.0 62.0 71.0 90.0 192.0 190.0 193.0 222.0 376.0 410.7 386.7 325.3
Type of transformation
Full Box-Cox transform
Full Box-Cox transform
Simple Box-Cox transform
Minimum lambda
-5
-2
-8
-7
-6
-5
-4
-3
-2
-1
Maximum lambda
5
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?
Yes
No
Yes
Chart options
R Code
par5 <- 'No' par4 <- '' par3 <- '5' par2 <- '-5' par1 <- 'Full Box-Cox transform' library(car) 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),sort(x1)) if (mx < c[i]) { mx <- c[i] mxli <- l[i] x1.best <- x1 } } print(c) print(mx) print(mxli) print(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) } mypT <- powerTransform(x) summary(mypT) 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') qqPlot(x) grid() mtext('Original Data') dev.off() bitmap(file='test5.png') qqPlot(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.row.start(a) a<-table.element(a,'transformation formula',header=TRUE) if (par1 == 'Full Box-Cox transform') { a<-table.element(a,'for all lambda <> 0 : T(Y) = (Y^lambda - 1) / lambda') } else { a<-table.element(a,'for all lambda <> 0 : T(Y) = Y^lambda') } 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') } a<-table.start() a<-table.row.start(a) a<-table.element(a,'Maximum Likelihood Estimation of Lambda',1,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,paste('<pre>',RC.texteval('summary(mypT)'),'</pre>',sep='')) a<-table.row.end(a) a<-table.end(a) table.save(a,file='mytable3.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