Free Statistics

of Irreproducible Research!

Author's title

Author*Unverified author*
R Software Modulerwasp_boxcoxnorm.wasp
Title produced by softwareBox-Cox Normality Plot
Date of computationMon, 02 Jun 2025 08:33:15 +0200
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2025/Jun/02/t1748852413mzf9m1a5badgf9s.htm/, Retrieved Sat, 29 Aug 2026 10:23:26 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=320218, Retrieved Sat, 29 Aug 2026 10:23:26 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact290
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [Box-Cox Normality Plot] [Estudio normalida...] [2025-06-02 06:33:15] [d41d8cd98f00b204e9800998ecf8427e] [Current]
Feedback Forum

Post a new message
Dataseries X:
60
59
57
62
59
62
62
96
59
59
58
57
60
61
62
62
59
59
59
95
59
60
58
59
58
62
60
59
58
59
60
58
57
97
61
58
61
60
61
59
60
60
58
58
60
59
58
58
58
57
59
60
98
61
60
60
59
60
97
96
62
60
61
57
59
59
61
60
61
62
59
61
58
57
62
60
62
60
59
96
61
59
58
59
58
58
57
58
58
62
62
60
59
60
60
60
61
61
59
96




Summary of computational transaction
Raw Input view raw input (R code)
Raw Outputview raw output of R engine
Computing time1 seconds
R ServerBig Analytics Cloud Computing Center

\begin{tabular}{lllllllll}
\hline
Summary of computational transaction \tabularnewline
Raw Input view raw input (R code)  \tabularnewline
Raw Outputview raw output of R engine  \tabularnewline
Computing time1 seconds \tabularnewline
R ServerBig Analytics Cloud Computing Center \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=320218&T=0

[TABLE]
[ROW]
Summary of computational transaction[/C][/ROW] [ROW]Raw Input[/C] view raw input (R code) [/C][/ROW] [ROW]Raw Output[/C]view raw output of R engine [/C][/ROW] [ROW]Computing time[/C]1 seconds[/C][/ROW] [ROW]R Server[/C]Big Analytics Cloud Computing Center[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=320218&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=320218&T=0

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Summary of computational transaction
Raw Input view raw input (R code)
Raw Outputview raw output of R engine
Computing time1 seconds
R ServerBig Analytics Cloud Computing Center







Box-Cox Normality Plot
# observations x100
maximum correlation0.744808646795213
optimal lambda-2
transformation formulafor all lambda <> 0 : T(Y) = (Y^lambda - 1) / lambda

\begin{tabular}{lllllllll}
\hline
Box-Cox Normality Plot \tabularnewline
# observations x & 100 \tabularnewline
maximum correlation & 0.744808646795213 \tabularnewline
optimal lambda & -2 \tabularnewline
transformation formula & for all lambda <> 0 : T(Y) = (Y^lambda - 1) / lambda \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=320218&T=1

[TABLE]
[ROW][C]Box-Cox Normality Plot[/C][/ROW]
[ROW][C]# observations x[/C][C]100[/C][/ROW]
[ROW][C]maximum correlation[/C][C]0.744808646795213[/C][/ROW]
[ROW][C]optimal lambda[/C][C]-2[/C][/ROW]
[ROW][C]transformation formula[/C][C]for all lambda <> 0 : T(Y) = (Y^lambda - 1) / lambda[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=320218&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=320218&T=1

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Box-Cox Normality Plot
# observations x100
maximum correlation0.744808646795213
optimal lambda-2
transformation formulafor all lambda <> 0 : T(Y) = (Y^lambda - 1) / lambda







Maximum Likelihood Estimation of Lambda
> summary(mypT)
bcPower Transformation to Normality 
  Est Power Rounded Pwr Wald Lwr Bnd Wald Upr Bnd
x   -7.5686       -7.57      -7.5727      -7.5645
Likelihood ratio test that transformation parameter is equal to 0
 (log transformation)
                           LRT df       pval
LR test, lambda = (0) 169.6304  1 < 2.22e-16
Likelihood ratio test that no transformation is needed
                           LRT df       pval
LR test, lambda = (1) 210.7516  1 < 2.22e-16

\begin{tabular}{lllllllll}
\hline
Maximum Likelihood Estimation of Lambda \tabularnewline
> summary(mypT)
bcPower Transformation to Normality 
  Est Power Rounded Pwr Wald Lwr Bnd Wald Upr Bnd
x   -7.5686       -7.57      -7.5727      -7.5645
Likelihood ratio test that transformation parameter is equal to 0
 (log transformation)
                           LRT df       pval
LR test, lambda = (0) 169.6304  1 < 2.22e-16
Likelihood ratio test that no transformation is needed
                           LRT df       pval
LR test, lambda = (1) 210.7516  1 < 2.22e-16
\tabularnewline \hline \end{tabular} %Source: https://freestatistics.org/blog/index.php?pk=320218&T=2

[TABLE]
[ROW][C]Maximum Likelihood Estimation of Lambda[/C][/ROW]
[ROW][C]
> summary(mypT)
bcPower Transformation to Normality 
  Est Power Rounded Pwr Wald Lwr Bnd Wald Upr Bnd
x   -7.5686       -7.57      -7.5727      -7.5645
Likelihood ratio test that transformation parameter is equal to 0
 (log transformation)
                           LRT df       pval
LR test, lambda = (0) 169.6304  1 < 2.22e-16
Likelihood ratio test that no transformation is needed
                           LRT df       pval
LR test, lambda = (1) 210.7516  1 < 2.22e-16
[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=320218&T=2

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=320218&T=2

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Maximum Likelihood Estimation of Lambda
> summary(mypT)
bcPower Transformation to Normality 
  Est Power Rounded Pwr Wald Lwr Bnd Wald Upr Bnd
x   -7.5686       -7.57      -7.5727      -7.5645
Likelihood ratio test that transformation parameter is equal to 0
 (log transformation)
                           LRT df       pval
LR test, lambda = (0) 169.6304  1 < 2.22e-16
Likelihood ratio test that no transformation is needed
                           LRT df       pval
LR test, lambda = (1) 210.7516  1 < 2.22e-16



Parameters (Session):
par1 = Full Box-Cox transform ; par2 = -2 ; par3 = 2 ; par4 = 0 ; par5 = No ;
Parameters (R input):
par1 = Full Box-Cox transform ; par2 = -2 ; par3 = 2 ; par4 = 0 ; par5 = No ;
R code (references can be found in the software module):
library(car)
par2 &lt;- abs(as.numeric(par2)*100)
par3 &lt;- as.numeric(par3)*100
if(par4=='') par4 &lt;- 0
par4 &lt;- as.numeric(par4)
numlam &lt;- par2 + par3 + 1
x &lt;- x + par4
n &lt;- length(x)
c &lt;- array(NA,dim=c(numlam))
l &lt;- array(NA,dim=c(numlam))
mx &lt;- -1
mxli &lt;- -999
for (i in 1:numlam)
{
l[i] &lt;- (i-par2-1)/100
if (l[i] != 0)
{
if (par1 == 'Full Box-Cox transform') x1 &lt;- (x^l[i] - 1) / l[i]
if (par1 == 'Simple Box-Cox transform') x1 &lt;- x^l[i]
} else {
x1 &lt;- log(x)
}
c[i] &lt;- cor(qnorm(ppoints(x), mean=0, sd=1),sort(x1))
if (mx &lt; c[i])
{
mx &lt;- c[i]
mxli &lt;- l[i]
x1.best &lt;- x1
}
}
print(c)
print(mx)
print(mxli)
print(x1.best)
if (mxli != 0)
{
if (par1 == 'Full Box-Cox transform') x1 &lt;- (x^mxli - 1) / mxli
if (par1 == 'Simple Box-Cox transform') x1 &lt;- x^mxli
} else {
x1 &lt;- log(x)
}
mypT &lt;- 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&lt;-table.start()
a&lt;-table.row.start(a)
a&lt;-table.element(a,'Box-Cox Normality Plot',2,TRUE)
a&lt;-table.row.end(a)
a&lt;-table.row.start(a)
a&lt;-table.element(a,'# observations x',header=TRUE)
a&lt;-table.element(a,n)
a&lt;-table.row.end(a)
a&lt;-table.row.start(a)
a&lt;-table.element(a,'maximum correlation',header=TRUE)
a&lt;-table.element(a,mx)
a&lt;-table.row.end(a)
a&lt;-table.row.start(a)
a&lt;-table.element(a,'optimal lambda',header=TRUE)
a&lt;-table.element(a,mxli)
a&lt;-table.row.end(a)
a&lt;-table.row.start(a)
a&lt;-table.element(a,'transformation formula',header=TRUE)
if (par1 == 'Full Box-Cox transform') {
a&lt;-table.element(a,'for all lambda &lt;&gt; 0 : T(Y) = (Y^lambda - 1) / lambda')
} else {
a&lt;-table.element(a,'for all lambda &lt;&gt; 0 : T(Y) = Y^lambda')
}
a&lt;-table.row.end(a)
if(mx&lt;0) {
a&lt;-table.row.start(a)
a&lt;-table.element(a,'Warning: maximum correlation is negative! The Box-Cox transformation must not be used.',2)
a&lt;-table.row.end(a)
}
a&lt;-table.end(a)
table.save(a,file='mytable.tab')
if(par5=='Yes') {
a&lt;-table.start()
a&lt;-table.row.start(a)
a&lt;-table.element(a,'Obs.',header=T)
a&lt;-table.element(a,'Original',header=T)
a&lt;-table.element(a,'Transformed',header=T)
a&lt;-table.row.end(a)
for (i in 1:n) {
a&lt;-table.row.start(a)
a&lt;-table.element(a,i)
a&lt;-table.element(a,x[i])
a&lt;-table.element(a,x1.best[i])
a&lt;-table.row.end(a)
}
a&lt;-table.end(a)
table.save(a,file='mytable1.tab')
}
a&lt;-table.start()
a&lt;-table.row.start(a)
a&lt;-table.element(a,'Maximum Likelihood Estimation of Lambda',1,TRUE)
a&lt;-table.row.end(a)
a&lt;-table.row.start(a)
a&lt;-table.element(a,paste('&lt;pre&gt;',RC.texteval('summary(mypT)'),'&lt;/pre&gt;',sep=''))
a&lt;-table.row.end(a)
a&lt;-table.end(a)
table.save(a,file='mytable3.tab')