OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

office-formula message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [office-formula] List of functions in OpenFormula, dealingwith LEGACY.*

On Tue, 2008-06-10 at 17:31 -0400, David A. Wheeler wrote:
> Andreas J Guelzow:
> > the non-legacy version of CHIDIST is CHISQDIST. CHIDIST uses the
> > Chi-Square distribution plus gives the right tail probability, this
> > conflicts with the otehr DIST functions that give cumulative (left-tail)
> > or density values.
> Problem is, "LEGACY." as a prefix doesn't really tell the reader
> what the function _does_, and in alphabetic sorts it gets far
> removed from a "non-legacy" function.
> I would rather call the old CHIDIST a different name than LEGACY.CHIDIST.
> I don't think we need to have _all_ of the distribution functions give
> right-hand tails; instead, we can just note that this PARTICULAR
> function with a right-hand tail is included to aid interoperability
> with existing documents, and then point to using CHISQDIST
> instead (which returns the left-hand, and is thus more consistent).

When we discussed the LEGACY naming a long time ago, the point was that
we wanted to use a name that clearly indicated that these functions are
only included for compatibilities sake and really should not be used in
new spreadsheets. So the fact that they sort far away from their regular
position is in fact desirable.
> > Excel's NORMSDIST is essentially NORMDIST with the second and third
> > argument of NORMDIST set to 0 and 1. It would make much more sense to
> > have them optional. (There is the problem wit the fourth argument that
> > picks cumulative vs density.)
> What 'problem' do you mean?

I thought that NORMSDIST also had a "cumulative" argument but I see that
it doesn't  
> I presume, then, that:
> Excel NORMSDIST(x) = NORMDIST(x;0;1;TRUE()) ?
> Is that right?


> As far as "have them optional" in NORMDIST, we could certainly do that,
> just by declaring default values for the later parameters, presumably:
>  Number Mean = 0; Number StandardDeviation = 0; Logical Cumulative = TRUE()

Number StandardDeviation = 1  (0 would never be used, but I guess that
was a typo)

> If we do that, then I think we need to define defaults for the other
> similar DIST functions.

well for the "cumulative" argument. THere is usually not a natural
default for the other arguments.
> By the way, the current text for LEGACY.NORMSDIST is _not_ correct,
> because it is NOT the same as a single-parameter version of NORMDIST -
> we don't have such a thing.  Adding default values would fix that.
> If we do that, then we could eliminate NORMSDIST;
> implementations that have a "NORMSDIST" could just translate that to
> NORMDIST(one-param).  But if we do that, then applications cannot
> round-trip perfectly - if they save as NORMDIST(x), then when an app
> reads it back, it won't know if the user entered NORMDIST() or
> NORMSDIST().  Obviously it doesn't matter logically, but users may
> very well be unhappy about that.  In other cases we've been careful
> to NOT lose that kind of information.  I think it'd be better
> if we could continue to recover exactly what the user
> stated, just as we do with POWER() and ^.
> So I see value in doing both: include NORMSDIST
> (without LEGACY.), so that round-tripping will not cause any
> change in the names of the functions used by the user
> (as perceived by the user).  Define it in terms of NORMDIST.
> In addition, give reasonable defaults for those distribution functions;
> it will make them easier to use.
> > Similarly for NORMSINV and NORMINV.
> I'd propose similar changes, e.g., make NORMINV have default values for
> parameters 2 and on, and restore the "old" function without
> the LEGACY prefix.
> > CHITEST really doesn't make any mathematical sense.
> I think that needs to be explained in the normative text, if that's really
> the case.  I don't understand _why_ it doesn't make any sense -
> can you help me understand that?  Preferably in text that we can
> include, to explain to users why they shouldn't use it?

Which test does it perform if the data areas are rectangular? The
implementation of CHITEST in Excel is a horrible mix of various tests.

I doubt that anybody who is using this really knows what they are

If r=1 or c=1 then it does calculate a Goodness of Fit Test. I have no
idea what it calculates if they are both larger than 1. The degree of
freedom looks like that it may be a test for independence or a test for
homogeneity, but in that case how are the observed values used? 


"Liberty consists less in acting according to
one's own pleasure, than in not being subject 
to the will and pleasure of other people. It 
consists also in our not subjecting the wills 
of other people to our own."  Rousseau

Prof. Dr. Andreas J. Guelzow
Dept. of Mathematical & Computing Sciences
Concordia University College of Alberta

This is a digitally signed message part

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]