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}} > > > >