Note that local f = (`y' - 1)/ln(`1')
not f = (`y' - 1)/ln(`y')
(for arg 1, =(exp(1) - 1)/ln(exp(1))),
so you are dividing by ln(1), or dividing by zero,
so the result is missing.
-----Original Message-----
From: Katsuhide Isa [mailto:[email protected]]
Sent: Friday, July 22, 2005 9:11 AM
Subject: st: odd behavior in ado file
I wrote the following simple ado file.
/*----------myboxcox.ado----------*/
program define myboxcox
version 7
local y = exp(`1')
if `y' == 1 {
di in gr "f = " 1
}
else {
local f = (`y' - 1)/ln(`1')
di in gr "f = " "`f'"
}
end
/*----------myboxcox.ado----------*/
It works well all in all. But it sometimes shows an odd
behavior.
More specifically, when typed - myboxcox 1 - (namely, setting
the argument as 1), the result is ". "(missing?), not 1.7182818
(=(exp(1) - 1)/ln(exp(1))).
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/