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 computationWed, 09 Apr 2014 15:21:09 -0400
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2014/Apr/09/t1397071316l7zy8x3pw4dp62j.htm/, Retrieved Fri, 17 May 2024 04:18:17 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=234427, Retrieved Fri, 17 May 2024 04:18:17 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact168
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [Box-Cox Normality Plot] [ddd] [2014-04-09 19:21:09] [d41d8cd98f00b204e9800998ecf8427e] [Current]
Feedback Forum

Post a new message
Dataseries X:
obs	citestot
1	21
2	22
3	22
4	22
5	24
6	24
7	24
8	27
9	28
10	30
11	32
12	35
13	36
14	37
15	37
16	40
17	42
18	44
19	47
20	47
21	50
22	51
23	56
24	61
25	61
26	62
27	66
28	67
29	68
30	69
31	69
32	69
33	75
34	76
35	78
36	80
37	81
38	82
39	85
40	87
41	87
42	89
43	89
44	97
45	97
46	98
47	98
48	100
49	109
50	112
51	119
52	121
53	121
54	122
55	124
56	126
57	126
58	134
59	137
60	138
61	138
62	140
63	143
64	144
65	147
66	150
67	151
68	154
69	162
70	164
71	170
72	179
73	180
74	183
75	183
76	188
77	188
78	189
79	193
80	214
81	220
82	224
83	227
84	237
85	239
86	245
87	245
88	249
89	254
90	261
91	264
92	292
93	294
94	299
95	302
96	313
97	313
98	317
99	338
100	339
101	351
102	355
103	370
104	382
105	383
106	388
107	388
108	390
109	397
110	406
111	412
112	412
113	418
114	427
115	440
116	445
117	488
118	495
119	497
120	499
121	502
122	508
123	544
124	545
125	547
126	556
127	574
128	578
129	582
130	597
131	602
132	617
133	636
134	646
135	654
136	662
137	670
138	684
139	698
140	700
141	707
142	730
143	733
144	737
145	787
146	825
147	834
148	838
149	871
150	922
151	930
152	957
153	988
154	1039
155	1083
156	1113
157	1113
158	1152
159	1243
160	1408
161	1437
162	1530
163	1580
164	1583
165	1812
166	1860
167	2022
168	2331
169	2411
170	2479
171	2514
172	2540
173	2676
174	2762
175	2800
176	3791
177	4138
178	6697
179	7943
180	8999
	




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time0 seconds
R Server'Gertrude Mary Cox' @ cox.wessa.net

\begin{tabular}{lllllllll}
\hline
Summary of computational transaction \tabularnewline
Raw Input & view raw input (R code)  \tabularnewline
Raw Output & view raw output of R engine  \tabularnewline
Computing time & 0 seconds \tabularnewline
R Server & 'Gertrude Mary Cox' @ cox.wessa.net \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=234427&T=0

[TABLE]
[ROW][C]Summary of computational transaction[/C][/ROW]
[ROW][C]Raw Input[/C][C]view raw input (R code) [/C][/ROW]
[ROW][C]Raw Output[/C][C]view raw output of R engine [/C][/ROW]
[ROW][C]Computing time[/C][C]0 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'Gertrude Mary Cox' @ cox.wessa.net[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=234427&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=234427&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 Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time0 seconds
R Server'Gertrude Mary Cox' @ cox.wessa.net



Parameters (Session):
par1 = Simple Box-Cox transform ; par2 = -4 ; par3 = 4 ; par4 = 0 ; par5 = No ;
Parameters (R input):
par1 = Simple Box-Cox transform ; par2 = -4 ; par3 = 4 ; par4 = 0 ; par5 = No ;
R code (references can be found in the software module):
par5 <- 'No'
par4 <- '0'
par3 <- '4'
par2 <- '-4'
par1 <- 'Simple 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')
}