MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: How to call BinomialDistribution from within a package?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg32236] RE: [mg32223] How to call BinomialDistribution from within a package?
  • From: "David Park" <djmp at earthlink.net>
  • Date: Wed, 9 Jan 2002 03:17:28 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Soren,

CDF is actually in the package Statistics`Common` and so you have to
explicitly name that also in your BeginPackage statement.

David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/

> From: Merser [mailto:merser at image.dk]
To: mathgroup at smc.vnet.net
>
> I've tried to put the my function: MedianCI  into a package.
>
> As this function works fine running as a plain notebook, it looks like
> BinomialDistribution[] isn't working when called from within a package?
>
> Does anybody has any idear what I'm doing wrong here ? I'm running
> Mathematica 4.0 on W2K.
> regards
> Soren
>
>
>
> BeginPackage["MedianCI`", "Statistics`DiscreteDistributions`",
> "Statistics`DescriptiveStatistics`"]
> Off[General::spell1];
>
> MedianCI::usage = "MedianCI[data, conf=.95] Returns median with CI at
> confidence level=95%"
>
> Begin["`Private`"]
>
> bdist[n_] := BinomialDistribution[n, .5]
> cdf[x_, n_] := CDF[bdist[n], x]
>
> Clear[MedianCI];
> MedianCI[data_, conf_:.95] :=
>   Block[ {d, n, bdist, cdf, alfa, p, plo, phi, lo = 0, hi},
>     d = Sort[data];
>     n = Length[d];
>
>
>
>     alfa = (1 - conf)/2;
>
>     While[(p = cdf[lo, n]) < alfa,
>        lo++;
>        plo = p;
>       ];
>
>     hi = lo + 1;
>     While[(phi = cdf[hi, n]) < (1 - alfa),
>        hi++;
>        ];
>
>     m =Median[d];
>     {{"Median", "CI low", "CI high", "Confidence level"},
>       {m, d[[lo]], d[[hi + 1]], phi - plo}}
>     ]
> End[]
> EndPackage[]
>
>
>
>
>
> test:
>
> Median[Range[11]] // TableForm
>
> {{"Median", "CI low", "CI high", "Confidence level"},
>
> {6, List,  2, -MedianCI`Private`plo +
> MedianCI`Private`CDF[BinomialDistribution[11, 0.5`], 1]}}
>
>
>
> correct:
>
> {{"Median", "CI low", "CI high", "Confidence level"},
>
>       {6, 2, 10, 0.988281}}
>
>
>
>



  • Prev by Date: Re: How to call BinomialDistribution from within a package?
  • Next by Date: Re: Wrestling with Mathematica on Trig Simplification
  • Previous by thread: How to call BinomialDistribution from within a package?
  • Next by thread: Re: How to call BinomialDistribution from within a package?