Replace ln(`1') by ln(`y')
Jean-Benoit
Katsuhide Isa a �crit :
Dear Statalisters,
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))).
When directly typed in the command line as
- di (exp(1) - 1)/ln(exp(1)) -, the result is 1.7182818,
which is just as it should be.
I don't see why such a phenomenon occurs.
Any suggestions welcome.
Thanks in advance.
K.I.
*
* 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/
--
***************************************************************************
Jean-Benoit Hardouin
Biostatisticien
Observatoire R�gional de la Sant� du Centre
BP 2439
1, rue Porte Madeleine
45032 Orl�ans Cedex 1
t�l : 02 38 74 48 80
fax : 02 38 74 48 81
Email : [email protected]
**************************************************************************
*
* 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/