**TI92**Group file dated 12/11/98, 16:45q==xsoup fiuaboutsta anovata anovafa#betaiabetatermbincdfmbincdffybinpdf binpdffrchi2cdfchi2cdff chi2pdfchi2pdff chi2testchi2tst"chkargl#chkargsS$chklls%chkss(clrvars+cstmstatQ4demovars7dspansp.8dspenansp;dstit0sm<dstit1s =dstitb1>f2tst1Bfcdf1Cfcdff1DfchkstatEfinvtat@HfpdftatHfpdffatWKftailatKftest_2sLftst21sMftst22sNgammaqsIPgeocdfsPgeocdff#RgeopdfRgeopdffuTinvnormTinvnormf{VismemberVlogamma.Zlr_ttest:[lrttstt(_nrmcdft_nrmcdff`nrminv>cnrmpdfcnrmpdffmenrmtail+fpchkstatipoicdfthjpoicdffkpoipdfHlpoipdffnpzint1opzint2rpztst1upztst2yrandbin{randbinf|randint{~randintfmrandnrm(randnrmfrandomfŃrandomfsetcustmɅshd_ttmjshd_tfm9shdchi2׉shdchi2fshdfi2fPshdff2fshdnormQshdnormfΓt2tstmfetcdfmftcdffmftexecmf$tintmfGtint_2sĠtint1stint2s֤tint21tint224tinv2Ĭtpdf2Ltpdffttail,ttest8ttest_2sttst_2sttst12sttst22sIttst21sottst22s@zint2shzint_1pzint_2pzint_2s@zint21bzint22xzintfztestztest_1pztest_2p;ztest_2sztst_2sztst22sztst21s8ztst22svst22snst22sZ!() Prgm Dialog Title "TI-92 Stat Version 2.0" Text "Copyright 1998, Texas Instruments" Text "One of several folders and printable" Text " documentation down-loadable from" Text " http://www.ti.com" Text "Free for the TI-92," Text "provided this AboutSta() prgm is in" Text "folder s. See doc. for republishing" Text "info. Press [ENTER] to (re)install." EndDlog If ok=0:Return setMode({"Exact/Approx","Approximate","Split Screen","Full"}) If getType(s\cstmstat)="PRGM" Then s\cstmstat() s\clrvars() Else:s\pchkstat() EndIf EndPrgm () Prgm s\texec("Analysis of Variance",{"klist1","klist2","klist3","klist4","klist5","klist6","klist7"},{"list1","list2","list3","list4","list5","list6","list7"},"anovaf") s\dspansp() EndPrgmw@_(k1,k2,k3,k4,k5,k6,k7) Prgm Local j,,narg,xbar,k,x,n s\fchkstat() 0xbar 0v\dfe 0v\sse 0narg For j,1,7 expr("v\klist"&string(exact(j))&"k") If getType(k)="NUM" {k}k If getType(k)/="LIST" and not (getType(k)="EXPR" and k=undef) Then "ANOVAF:Args must be lists"answ Return EndIf If k/=undef Then If dim(k)=1 Then "ANOVAF:Lists must have two or more elements"answ Return EndIf narg+1narg onevar k x[narg] nstatn[narg] xbar+xxbar v\dfe+nstatv\dfe v\sse+(nstat-1)*sx^2v\sse EndIf EndFor If narg<2 Then "ANOVAF:Must have 2 or more lists"answ Return EndIf xbar/v\dfexbar narg-1v\dfg For j,1,narg n[j]*(x[j]-xbar)^2x[j] EndFor sum(x)v\ssg v\ssg/v\dfgv\msg v\dfe-nargv\dfe v\sse/v\dfev\mse (v\mse)v\sxp v\msg/v\msev\f s\ftail(v\f, v\dfg, v\dfe)v\p If v\calcdraw=0:return Dialog Title "One-way ANOVA" Text "F ="&string(v\f)&", p ="&string(v\p) Text "FACTOR:" Text "df ="&string(v\dfg) Text "ss ="&string(v\ssg) Text "ms ="&string(v\msg) Text "ERROR:" Text "df ="&string(v\dfe) Text "ss ="&string(v\sse) Text "ms ="&string(v\mse) Text "Sxp="&string(v\sxp) EndDlog EndPrgmwh(a,b,x) Func Local v If x=0 or x=1 Then xv Else 10^(s\logamma(a+b)-s\logamma(a)-s\logamma(b)+a*log(x)+b*log(1-x))v If x<(a+1)/(a+b+2) Then v*s\betaterm(a,b,x)/av Else 1-v*s\betaterm(b,a,1-x)/bv EndIf EndIf v EndFunc G(a,b,x) Func Local aa,ab,am,ap,c,d,m,m2,fm,h 199fm a+bab a+1ap a-1am 1c 1-ab*x/apd If abs(d)fm:fmd 1/dd dh For m,1,100 2*mm2 m*(b-m)*x/((am+m2)*(a+m2))aa 1+aa*dd If abs(d)0 Then newList(d)o newList(d)s For j,1,d If floor(k[j])n then 0r[j] Else 10^(q-s\logamma(k[j]+1)-s\logamma(a-k[j])+k[j]*p)r[j] EndIf EndFor EndIf EndIf r EndFunc(() Prgm s\texec("Chi-squared Area",{"lower","upper","df"},{"Lower Value","Upper Value","Degrees of Freedom"},"chi2cdff") s\dspenans() EndPrgm1(l,u,d) Func Local ,p s\fchkstat() If "":Return "CHI2AREA:"& s\chks({l,u,d},{"0","0","d"}) If "":return "CHI2AREA:"& If l0 Then 1p Else s\gammaq(d/2,l/2)p EndIf If u<0 Then p-1p Elseif u<199 Then p-s\gammaq(d/2,u/2)p EndIf p EndFunc P() Prgm s\texec("Chi-squared Density Function",{"x","df"},{"X Value","Degrees of Freedom"},"chi2pdff") s\dspenans() EndPrgm,X(x,d) Func Local f,i,,p,t s\fchkstat() If "":Return "CHI2PDF:"& s\chkargl(x) If "":Return "CHI2PDF:"& s\chks({d},{"d"}) If "":return "CHI2PDF:"& 0.5*dp If getType(x)="LIST" Then {}f For i,1,dim(x) If x[i]<=0 Then If x[i]<0 or p>1 Then 0f[i] Elseif p<1 Then undeff[i] Else 0.5f[i] EndIf Else (p-1)*log(0.5*x[i])-s\logamma(p)-0.21714724095163*x[i]f[i] 0.5*10^f[i]f[i] EndIf EndFor Else If x<=0 Then If x<0 or p>1 Then 0f Elseif p<1 Then undeff Else 0.5f EndIf Else (p-1)*log(0.5*x)-s\logamma(p)-0.21714724095163*xf 0.5*10^ff EndIf EndIf f EndFunc:() Prgm local o,y expr("string(v\obsmat)y") Dialog Title "Chi Test" Text "The Chi test needs a matrix for" Text "the input, and will output a matrix" Text "to the variable 'v\expmat'." Text "" Request "Observed",y Dropdown "Results?",{"Calculate","Draw"},v\calcdraw EndDlog If ok=0: return expr("expr(y)v\obsmat") expr("yo") "s\chi2tst("&o&")"enter s\dspansp() EndPrgm2(o) Prgm Local i,j,r,c,s,m,t,p,l,y,g,h,z,f,u,v dim(o)l If l[1]<2 or l[2]<2 Then "CHI2TST: Matrix must be at least 2 by 2"answ Return EndIf For i,1,l[1] For j,1,l[2] If floor(o[i,j])o[i,j] or o[i,j]<0 Then "CHI2TST: Matrix must be positive integers"answ Return EndIf EndFor EndFor newMat(1,l[2])r newMat(l[1],1)c 0s For i,1,l[1] For j,1,l[2] s+o[i,j]s c[i,1]+o[i,j]c[i,1] r[1,j]+o[i,j]r[1,j] EndFor EndFor c*r/sv\expmat approx(((o-v\expmat).^2)./v\expmat)m (l[1]-1)*(l[2]-1)v\df 0v\chi2 For i,1,l[1] For j,1,l[2] v\chi2+m[i,j]v\chi2 EndFor EndFor v\df/2i s\gammaq(i,v\chi2/2)v\p 10^(s\logamma(i))*2^iy If v\calcdraw=0:return string(v\chi2)t string(v\p)p If v\calcdraw=1 Then Dialog Title "Chi-Test Results" Text "Chi="&t Text "p ="&p Text "df ="&string(v\df) EndDlog Else DelVar x v\df-2z ^(z/2)*z^(i-1)/yf f/10u 11/10v 0xmin:11xmax:0ymin:fymax 1xscl:0.1yscl:2xres:ClrDraw x>v\chi2g ^(x/2)*x^(i-1)/yh Shade when(g,0,h),h PtText "Chi="&t,xmax-v*4,f-2*u PtText "p="&p,xmax-v*4,f-3*u Pause EndIf EndPrgm~H() Func Local ,,  If getType()="LIST" Then For ,1,dim() [] If getType()"NUM" Then Return ("Inputs must be numerical") EndIf EndFor Else If getType()"NUM" Then Return ("Inputs must be numerical") EndIf EndIf "" EndFuncVv() Func Local  If getType()"NUM" Then Return ("Inputs must be numerical scalars") EndIf "" EndFuncw(U(l,f) Func If gettype(l)"LIST" return "Data must be in a list!" If dim(l)=0 return "No empty lists allowed!" If dim(l)=1 return "No one element lists!" If gettype(f)="NUM" Then (newlist(dim(l))+1)*ff ElseIf gettype(f)"LIST" Then return "Bad Freq List" ElseIf dim(l)dim(f) Then return "Dimension mismatch!" EndIf f EndFuncm(v,t) Func Local ,n,i,u s\chkargl(v) If "":Return dim(v)n If ndim(t): Return "CHKS:Internal Error" For i,1,n If t[i]="n" or t[i]="d" then "df"u If t[i]="n":"n"u If floor(v[i])v[i] or v[i]0 return u&" must be a positive integer" EndIf If t[i]="x" then If floor(v[i])v[i] or v[i]<0 return "x must be a nonnegative integer" EndIf If t[i]="i" then If floor(v[i])v[i] return "x must be an integer" EndIf If t[i]="p" then If v[i]<0 or v[i]>1 return "prob must be [0,1]" EndIf If t[i]="c" Then If v[i]<0 or v[i]100 return "C Level must be in [0,100] interval" EndIf If t[i]="s" or t[i]="l" or t[i]="t" Then "mean"u If t[i]="s":"std dev's"u If t[i]="t":"df"u If v[i]0 return u&" must be positive" EndIf EndFor "" EndFunc() Prgm undefv\0 undefv\ undefv\list undefv\freq undefv\icalc undefv\idata undefv\x_bar undefv\sx_ undefv\n undefv\1 undefv\2 undefv\list1 undefv\list2 undefv\freq1 undefv\freq2 undefv\x1_bar undefv\sx1 undefv\n1 undefv\x2_bar undefv\sx2 undefv\n2 undefv\pooled undefv\p0 undefv\x undefv\x1 undefv\x2 undefv\clevel undefv\obsmat undefv\expmat undefv\xlist undefv\ylist undefv\ undefv\area undefv\df undefv\dfnum undefv\dfden undefv\p undefv\klist undefv\klist1 undefv\klist2 undefv\klist3 undefv\klist4 undefv\klist5 undefv\klist6 undefv\klist7 undefv\ undefv\lower undefv\upper undefv\ahyp undefv\calcdraw undefv\nl undefv\nlower undefv\nupper EndPrgms() Prgm s\pchkstat() If ok=0:Return Custom Title "Tools" Item "enter" Item "answ" Item "DelVar enter,answ" Item "s\Clrvars()" Item "s\Demovars()" Item "s\SetCustm()" Item "s\AboutSta()" Item "ClrIO" Item "ClrHome" Title "Tests" Item " s\ZTest()" Item " s\TTest()" Item " s\ZTest_2S()" Item " s\TTest_2S()" Item " s\ZTest_1P()" Item " s\ZTest_2P()" Item " s\Chi2Test()" Item " s\FTest_2S()" Item " s\LR_TTest()" Item " s\ANOVA()" Title "Int'vls" Item " s\ZInt()" Item " s\TInt()" Item " s\ZInt_2S()" Item " s\TInt_2S()" Item " s\ZInt_1P()" Item " s\ZInt_2P()" Title "DistrCalc" Item " s\NrmPdf()" Item " s\NrmCdf()" Item " s\invNorm()" Item " s\tPdf()" Item " s\tCdf()" Item " s\Chi2Pdf()" Item " s\Chi2Cdf()" Item " s\FPdf()" Item " s\FCdf()" Item " s\BinPdf()" Item " s\BinCdf()" Item " s\PoiPdf()" Item " s\PoiCdf()" Item " s\GeoPdf()" Item " s\GeoCdf()" Title "Shd" Item " s\ShdNorm()" Item " s\Shd_t()" Item " s\ShdChi2()" Item " s\ShdF()" Title "Prob" Item " s\Random()" Item " s\RandInt()" Item " s\RandNrm()" Item " s\RandBin()" Item "nPr(" Item "nCr(" Item " !" Title "VAR" Item "s\Clrvars()" Item "v\z" Item "v\t" Item "v\chi2" Item "v\F" Item "v\p" Item "v\df" Item "v\p_hat" Item "v\p1_hat" Item "v\p2_hat" Item "v\x_bar" Item "v\x1_bar" Item "v\x2_bar" Item "v\Sx_" Item "v\Sx1" Item "v\Sx2" Item "v\Sxp" Item "v\n" Item "v\n1" Item "v\n2" Item "v\lower" Item "v\upper" Item "v\s" Item "v\a" Item "v\b" Item "v\r" Item "v\r_sqr" Item "v\obsmat" Item "v\expmat" Item "v\list" Item "v\list1" Item "v\list2" Item "v\freq" Item "v\freq1" Item "v\freq2" Item "v\" Item "v\0" Item "v\1" Item "v\2" Item "v\" Item "v\p0" Item "v\clevel" Item "v\xlist" Item "v\ylist" Title "DistrPaste" Item "s\NrmPdfF(x,,)" Item "s\NrmCdfF(l,u,,)" Item "s\invNormF(ar,,)" Item "s\tPdfF(x,df)" Item "s\tCdfF(l,u,df)" Item "s\Chi2PdfF(x,df)" Item "s\Chi2CdfF(l,u,df)" Item "s\FPdfF(x,dfn,dfd)" Item "s\FCdfF(l,u,dn,dd)" Item "s\BinPdfF(n,p,kls)" Item "s\BinCdfF(n,p,kls)" Item "s\PoiPdfF(,klist)" Item "s\PoiCdfF(,klist)" Item "s\GeoPdfF(p,klist)" Item "s\GeoCdfF(p,klist)" EndCustm CustmOn EndPrgm n() Prgm 2v\0 5v\ {1,8,2,8}v\list 1v\freq undefv\icalc undefv\idata 2v\x_bar 2.5v\sx_ 4v\n 1.8v\1 2.2v\2 {1,2,4,1}v\list1 {2,1,9,3}v\list2 2v\freq1 {2,2,1,1}v\freq2 2v\x1_bar 3v\sx1 10v\n1 1.5v\x2_bar 2.1v\sx2 8v\n2 undefv\pooled .2v\p0 2v\x 5v\x1 4v\x2 95v\clevel [[5,19][8,16][11,13]]v\obsmat undefv\expmat {38,56,59,64,74}v\xlist {41,63,70,72,84}v\ylist 2v\ .1v\area 5v\df 2v\dfnum 5v\dfden .8v\p {1,2,3}v\klist {8,2,10,3,20,1}v\klist1 {2,1,4}v\klist2 undefv\klist3 undefv\klist4 undefv\klist5 undefv\klist6 undefv\klist7 .2v\ 1v\lower 2v\upper undefv\ahyp undefv\calcdraw 10v\nl 2v\nlower 4v\nupper EndPrgm,!() Prgm Local a,b If ok=0:Return ClrIO s\pchkstat() If ok=0:Return undefansw expr(enter) If getType(answ)="STR" Then instring(answ,":")a dim(answ)b Dialog Title left(answ,a-1)&":ERROR" Text right(answ,b-a) EndDlog EndIf setMode({"Split 1 App","Home"}) CustmOn EndPrgmܣ[:() Prgm Local a,b,u If ok=0:Return ClrIO s\pchkstat() If ok=0:Return expr(enter)answ If getType(answ)="NUM" Then instring(enter,"(")a Text mid(enter,3,a-3)&" = "&string(answ) ElseIf getType(answ)="LIST" Then If instring(enter,"rand")=0:1v\ivar "v\list"u If instring(enter,"int")0:"v\freq"u If v\ivar=2 Then u&"1"u ElseIf v\ivar=3 Then u&"2"u EndIf expr("answ"&u) dim(answ)a If a=1 Then Dialog Title "Stored to "&u Text "{"&string(answ[1])&"}" EndDlog ElseIf a=2 Then Dialog Title "Stored to "&u Text "{"&string(answ[1])&", "&string(answ[2])&"}" EndDlog Else Dialog Title "Stored to "&u Text "{"&string(answ[1])&", "&string(answ[2])&", ...}" EndDlog EndIf Else instring(answ,":")a dim(answ)b Dialog Title left(answ,a-1) Text right(answ,b-a) EndDlog EndIf CustmOn EndPrgmw(t) Prgm Dialog Title t Text "Choose the form of the input data:" Text "[Data] for raw data in a list, OR" Text "[Stats] for data as summary statistics" Text "" Dropdown "Data Input Method:",{"Data","Stats"},v\idata EndDlog EndPrgmܫS(t) Prgm If ok=0: return If t="2 Samp T-Interval" Then Dialog Title t Dropdown "Pool the lists?",{"No","Yes"},v\pooled EndDlog EndIf EndPrgm0(t,a,b) Prgm If ok=0: return If t="2 Samp T-Test" Then Dialog Title t Dropdown "Altern Hyp?",{a&""&b,a&"<"&b,a&">"&b},v\ahyp Dropdown "Pool the lists?",{"No","Yes"},v\pooled Dropdown "Results?",{"Calculate","Draw"},v\calcdraw EndDlog Else Dialog Title t Dropdown "Altern Hyp?",{a&""&b,a&"<"&b,a&">"&b},v\ahyp Dropdown "Results?",{"Calculate","Draw"},v\calcdraw EndDlog EndIf EndPrgmܾ(() Prgm Local f,p,t,s,g,i,n,d,u,v,h,b,a,e,k DelVar x (v\sx1/v\sx2)^2v\f v\n1-1n v\n2-1d n/2u d/2v u+vp approx(n/d)a s\ftail(v\f, n,d)f s\logamma(p)-s\logamma(u)-s\logamma(v)t a^u*10^tt t*x^(u-1)/(1+a*x)^ph (1-u)/a/(u-1-p)e t*e^(u-1)/(1+a*e)^pk If v\ahyp=1 Then If f0.5 Then s\finv(1-f,n,d)b Else 1-ff s\finv(f,n,d)b EndIf 2*ff ""s xv\fg If b>v\f:xbg ElseIf v\ahyp=2 Then "<"s s\ftail(1/v\f,d,n)f x"s x>v\fg EndIf fv\p If gettype(f)="STR" then disp f return EndIf If gettype(b)="STR" then disp b return EndIf If v\calcdraw=0:return string(v\f)t string(v\p)p If v\calcdraw=1 Then Dialog Title "2 Samp F-Test Results" Text "1"&s&"2" Text "F ="&t Text "p ="&p Text "Sx1="&string(v\sx1)&", Sx2="&string(v\sx2) Text "x1_bar="&string(v\x1_bar)&", x2_bar="&string(v\x2_bar) Text "n1 ="&string(v\n1)&", n2 ="&string(v\n2) EndDlog Else 0xmin:5xmax:0ymin:kymax 1xscl:0.1yscl:2xres:clrdraw shade when(g,0,h),h pttext "F="&t,3,k/3 pttext "p="&p,3,k/2 pause EndIf EndPrgm0@() Prgm s\texec("F Distribution Area",{"lower","upper","dfnum","dfden"},{"Lower Value","Upper Value","Numerator DF","Denominator DF"},"fcdff") s\dspenans() EndPrgm\9(l,u,n,d) Func Local ,p s\fchkstat() If "":Return "FAREA:"& s\chks({l,u,n,d},{"0","0","d","d"}) If "":return "FAREA:"& If l0 Then 1p Else s\ftail(l,n,d)p EndIf If u<0 Then p-1p Elseif u<199 Then p-s\ftail(u,n,d)p EndIf p EndFunc܌Oa() Func Local If getType(s\aboutsta)"PRGM" Return "Missing Prgm s\AboutSta" If getType(main\cstfldrs)"LIST" Goto pc If not(s\ismember("s",main\cstfldrs)) Goto pc For ,97,122 If getType(#("s\"&char()))"NONE" Goto pc EndFor Return when(s\ismember(getFold(),main\cstfldrs),"Enter setfold(main)","") Lbl pc "Enter s\PChkStat()" EndFunctB(p,n,d) Func Local f,a,l,u,x,m,k If p<0 or p>1 Then return "P-value must be in [0 1] range" ElseIf n<=0 or d<=0 Then return "Degree-of-Freedom must be a positive number" ElseIf p=1 Then 0f ElseIf p=0 Then 199f ElseIf p>0.5 Then 1/s\finv(1-p,d,n)f Else 0.5*dd 0.5*nn (d+1)/(d+n+2)m s\logamma(d)+s\logamma(n)-s\logamma(d+n)u log(p)+ul log(1-p)+uu 1f For k,1,16 d/(d+n*f)x d*log(x)+n*log(1-x)a If x0 Then n*v[i]/df[i] 10^(s\logamma(p)-s\logamma(a)-s\logamma(b)-p*log(1+f[i])+a*log(f[i]))/v[i]f[i] Elseif v[i]<0 or n>2 Then 0f[i] Elseif n>1 Then 1f[i] Else undeff[i] EndIf EndFor Else If v>0 Then n*v/df 10^(s\logamma(p)-s\logamma(a)-s\logamma(b)-p*log(1+f)+a*log(f))/vf Elseif v<0 or n>2 Then 0f Elseif n>1 Then 1f Else undeff EndIf EndIf f EndFuncڿ9(f,n,d) Func s\betai(d/2,n/2,d/(d+n*f)) EndFuncܸ/() Prgm Local t "2 Samp F-Test"t s\dstit0(t) If ok=0: return If v\idata=1 Then s\texec(t,{"list1","list2","freq1","freq2"},{"List 1","List 2","Freq 1","Freq 2"},"ftst21") Else s\texec(t,{"sx1","n1","sx2","n2"},{"Sx1","n1","Sx2","n2"},"ftst22") EndIf s\dstitb1(t,"1","2") s\dspansp() EndPrgmܲY(l,m,f,g) Prgm Local s\chkll(l,f) If gettype()="STR" Then "FTST21:"&answ return EndIf f s\chkll(m,g) If gettype()="STR" Then "FTST21:"&answ return EndIf g onevar l,f sxv\sx1 nstatv\n1 v\x1_bar onevar m,g sxv\sx2 nstatv\n2 v\x2_bar s\f2tst() EndPrgmܼ](r,m,s,n) Prgm Local s\chks({r,m,s,n},{"s","n","s","n"}) If "" then "FTST22:"&answ return EndIf rv\sx1 mv\n1 sv\sx2 nv\n2 s\f2tst() EndPrgmN3(a,x) Func Local v,b,c,d,i,n,t,f If x=0 Then 1v Else 10^(a*log(x)-s\logamma(a)-0.43429448190325*x)t If xv n + 1n (x/n)*cc v+cv EndWhile 1-v*tv Else 199f x+1-ab 1/fc 1/bd dv For i,1,100 i*(a-i)n b+2b n*d+bd If abs(d)floor(k[j]) Then Return "GEOPDF:Index must be an integer" Elseif p=1 and k[j]=1 Then 1v[j] Elseif (p=1 and k[j]1) or k[j]<1 Then 0v[j] Else p*(1-p)^(k[j]-1)v[j] EndIf EndFor v EndFuncDz() Prgm s\texec("Inverse Normal CDF",{"area","",""},{"Area","Mean","Std Dev"},"invnormf") s\dspenans() EndPrgm'|(p,m,s) Func Local ,f,i s\fchkstat() If "":Return "INVNRM:"& s\chkargl(p) If "":Return "INVNRM:"& s\chks({m,s},{"0","s"}) If "":return "INVNRM:"& If getType(p)="LIST" Then {}f For i,1,dim(p) If p[i]<0 or p[i]>1 Then Return "INVNRM: Pval not in [0,1] interval" Else s*s\nrminv(1-p[i])+mf[i] EndIf EndFor Else s*s\nrminv(1-p)+mf EndIf f EndFuncܜxQ+0,R++,Շ:zlt}ܧ!R(x) Func Local p,q,b,z,n,d {42353.689509744,20886.861789270,8762.7102978521,2008.5274013073,439.33044406003,50.108693752971,6.7449507245925}p {42353.689509744,2980.3853309257,9940.3074150828,1528.6072737795,499.02852662144,189.49823415703,23.081551524580}q {0.361912068252711,0.120637356084242,0.344678160240683,0.258508620180513,0.365567745709813,0.832771359182893}b If (x<=0 or x>1.6) Then mid("Domain error: Input must be >0 and <= 16",1) ElseIf x<8 Then 1z While x<2 z/xz x+1x EndWhile While x>3 x-1x z*xz EndWhile x-2x p[1]+x*(p[2]+x*(p[3]+x*(p[4]+x*(p[5]+x*(p[6]+x*p[7])))))n q[1]+x*(q[2]+x*(q[3]+x*(q[4]+x*(q[5]+x*(q[6]+x*(q[7]-x))))))d log(z*n/d)z Else (1/x)^2z b[1]+z*(b[2]+z*(b[3]+z*(b[4]+z*(b[5]+z*b[6]))))z (x-0.5)*log(x)-0.4342944819032518*x+0.3990899341790575+z/xz EndIf z EndFuncܝ() Prgm Local t,a,b "Linear Reg T-Test"t s\texec(t,{"xlist","ylist","freq"},{"Xlist","Ylist","Freq"},"lrttst") " & "a:"0"b Dialog Title t Text "" Dropdown "Altern Hyp?",{a&""&b,a&"<"&b,a&">"&b},v\ahyp EndDlog If ok=0: return s\dspansp() EndPrgm_P(l,m,f) Prgm Local ,u s\chkll(l,f) If gettype()="STR" Then "LRTTST:"&answ return EndIf f s\chkll(m,f) If gettype()="STR" Then "LRTTST:"&answ return EndIf f twovar l,m,f xv\1 yv\2 nstatv\n1 nstat-2v\df linreg l,m,f regcoef[1]v\b regcoef[2]v\a corrv\r rv\r_sqr If v\df>0 Then v\2*(v\n1*(1-corr)*(1+corr)/v\df)v\s Else "LRTTST: # of data points must be >2"answ return EndIf If v\s>0 then v\b*(v\n1)*v\1/v\sv\t Elseif v\b>0 then 199v\t Elseif v\b<0 then 199v\t Else 0v\t EndIf If v\ahyp=3 Then s\ttail(v\t,v\df)v\p ">0 and >0"u ElseIf v\ahyp=2 Then 1-s\ttail(v\t,v\df)v\p "<0 and <0"u Else 2*s\ttail(abs(v\t), v\df)v\p "0 and 0"u EndIf If v\calcdraw=0:return Dialog Title "Linear Reg T-Test Results" Text "y=a+bx, "&u Text "t ="&string(v\t) Text "p ="&string(v\p) Text "df="&string(v\df) Text "a ="&string(v\a) Text "b ="&string(v\b) Text "s ="&string(v\s) Text "r="&string(v\r_sqr) Text "r ="&string(v\r) EndDlog EndPrgm܃A() Prgm s\texec("Normal PDF Area Function",{"lower","upper","",""},{"Lower Value","Upper Value","Mean","Std Dev"},"nrmcdff") s\dspenans() EndPrgm3(l,u,m,s) Func Local s\fchkstat() If "":Return "NRMCDFF:"& s\chks({l,u,m,s},{"0","0","0","s"}) If "":return "NRMCDFF:"& s\nrmtail((l-m)/s)-s\nrmtail((u-m)/s) EndFuncA<(q) Func Local z,a,b,c,d,e,f,p {1.2533139982896,1.4783686462237,0.3603565594125}a {1.4413710820222,0.5209897366681,0.0268361360391}b {2.8789007100947,3.3958722997592,5.6089156175666,3.1515637312662}c {4.1446131562882,2.2207859087831}d {2.7758935976494,2.0589730924436,4.7030720360407,2.1323775147377}e {3.4241059203001,1.5044003550005}f 1-2*qp abs(p)z If 1<=z Then 199*sign(p)z ElseIf z<=0.7 Then p^2q ((a[3]*q+a[2])*q+a[1])*p/(((b[3]*q+b[2])*q+b[1])*q+1)z Else (ln((1-z)/2))q If z<=0.98 Then (((c[4]*q+c[3])*q+c[2])*q+c[1])/((d[2]*q+d[1])*q+1)z Else (((e[4]*q+e[3])*q+e[2])*q+e[1])/((f[2]*q+f[1])*q+1)z EndIf sign(p)*zz EndIf z EndFuncz() Prgm s\texec("Normal Probability Density Function",{"x","",""},{"X Value","Mean","Std Dev"},"nrmpdff") s\dspenans() EndPrgm ܘ-(z,m,s) Func Local f,i,,t s\fchkstat() If "":Return "NRMPDFF:"& s\chkargl(z) If "":Return "NRMPDFF:"& s\chks({m,s},{"0","s"}) If "":return "NRMPDFF:"& If getType(z)="LIST" Then {}f For i,1,dim(z) ((z[i]-m)/s)^2t If t<1128 Then ^(t/2)/(2*)/sf[i] Else 0f[i] EndIf EndFor Else ((z-m)/s)^2t If t<1128 Then ^(t/2)/(2*)/sf Else 0f EndIf EndIf f EndFuncz(z) Func Local p 1/(1 + 0.2316419*abs(approx(z)))p (((((1.330274429*p-1.821255978)*p+1.781477937)*p-0.356563782)*p+0.31938153)*p)*s\nrmpdff(z,0,1)p If z<0:1-pp p EndFunc-() Prgm Local If getType(main\cstfldrs)"LIST" Then {"s"}main\cstfldrs ElseIf not s\ismember("s",main\cstfldrs) Then Unlock main\cstfldrs augment(main\cstfldrs,{"s"})main\cstfldrs EndIf Lock main\cstfldrs For ,97,122 If getType(#("s\"&char()))"NONE" Then Dialog Text "s\ is contaminated with var "&char()&" and" Text " perhaps others that shouldn't be" Text " there." Text "Please delete them, then to avoid" Text " recontamination, avoid making any" Text " folder in main\cstfldrs current." EndDlog 0ok Return EndIf EndFor 1ok If s\ismember(getFold(),main\cstfldrs) Then Dialog Text "Current folder is a member of" Text " main\cstfldrs." Text "Please avoid this to avoid" Text " contamination by STO etc." Text "[ENTER] will setfold(main)," Text " then proceed." EndDlog If ok=1:setFold(main) EndIf If getType(s\aboutsta)"PRGM" Then Text "Missing Prgm s\aboutSta()" 0ok EndIf EndPrgm ܉9u() Prgm s\texec("Poisson CDF",{"","klist"},{"Process Mean","# occurances"},"poicdff") s\dspenans() EndPrgmh&[(m,k) Func Local p,j,,d s\fchkstat() If "":Return "POICDF:"& s\chkargl(k) If "":Return "POICDF:"& s\chks({m},{"l"}) If "":return "POICDF:"& If getType(k)="NUM" {k}k dim(k)d If d=0 Return "POICDF:k cannot be an empty list" For j,1,d If k[j]<0 Then 0p[j] Else s\gammaq(floor(k[j])+1,m)p[j] EndIf EndFor p EndFunc2nu() Prgm s\texec("Poisson PDF",{"","klist"},{"Process Mean","# occurances"},"poipdff") s\dspenans() EndPrgm܂&(m,k) Func Local p,j,e,l,,d s\fchkstat() If "":Return "POIPDF:"& s\chkargl(k) If "":Return "POIPDF:"& s\chks({m},{"l"}) If "":return "POIPDF:"& If getType(k)="NUM":{k}k dim(k)d If d = 0 Return "POIPDF:k cannot be an empty list" 0.43429448190325*me log(m)l For j,1,d If k[j]>floor(k[j]) Then Return "Index must be an integer" Elseif k[j]<0 Then 0p[j] Else 10^(k[j]*l-s\logamma(k[j]+1)+e)p[j] EndIf EndFor p EndFunc(x,n,c) Prgm Local i,t, s\chks({x,n,c},{"x","n","c"}) If "" then "PZINT1:"&answ return EndIf If c1:0.01*cc nv\n x/nv\p_hat s\nrminv(0.5*(1-c))t If gettype(t)="STR" then "PZINT1:"&tansw return EndIf v\p_hat+(v\p_hat*(1-v\p_hat)/n)*t*{1,1}i i[1]v\lower i[2]v\upper If v\calcdraw=0:return Dialog Title "1 Proportion Z-Interval Results" Text "{"&string(i[1])&", "&string(i[2])&"}" Text "p_hat ="&string(v\p_hat) Text "n ="&string(v\n) EndDlog EndPrgmb(x,n,y,o,c) Prgm Local i,t, s\chks({x,n,y,o,c},{"x","n","x","n","c"}) If "" then "PZINT2:"&answ return EndIf If x>n or y>o then "PZINT2:successes must be [0,n]"answ return EndIf If c1:0.01*cc x/nv\p1_hat y/ov\p2_hat s\nrminv(0.5*(1-c))t If gettype(t)="STR" then tansw return EndIf v\p1_hat-v\p2_hat+(v\p1_hat*(1-v\p1_hat)/n+v\p2_hat*(1-v\p2_hat)/o)*t*{1,1}i i[1]v\lower i[2]v\upper If v\calcdraw=0:return Dialog Title "2 Proportion Z-Interval Results" Text "{"&string(i[1])&", "&string(i[2])&"}" Text "p1_hat ="&string(v\p1_hat) Text "p2_hat ="&string(v\p2_hat) Text "n1 ="&string(v\n1) Text "n2 ="&string(v\n2) EndDlog EndPrgmܕ+(q,y,n) Prgm Local f,p,t,s,g,h,i, DelVar x s\chks({q,y,n},{"p","x","n"}) If "" then "PZTST1:"&answ return EndIf qv\p0 yv\x nv\n y/nv\p_hat (v\p_hat-q)/(q*(1-q)/v\n)v\z abs(v\z)i s\nrmtail(v\z)f ^(x^2/2)/(2)h If v\ahyp=1 Then ""s 2*s\nrmtail(abs(v\z))v\p xig ElseIf v\ahyp=2 Then "<"s 1-fv\p x"s fv\p x>v\zg EndIf If gettype(v\p)="STR" then v\pansw return EndIf If v\calcdraw=0:return string(v\z)t string(v\p)p If v\calcdraw=1 Then Dialog Title "1-Prop Z-Test Results" Text "prop"&s&string(q) Text "z ="&t Text "p ="&p Text "p_hat ="&string(v\p_hat) Text "n ="&string(v\n) EndDlog Else 3xmin:3xmax:0ymin:0.5ymax 1xscl:0.1yscl:2xres:clrdraw shade when(g,0,h),h pttext "z="&t,3,.4 pttext "p="&p,3,.35 pause EndIf EndPrgmܯ(y,n,z,o) Prgm Local f,p,t,s,g,h,i,,a,b DelVar x s\chks({y,n,z,o},{"x","n","x","n"}) If "" then "PZTST2:"&answ return EndIf If y>n or z>o then "PZTST2:successes must be [0,n]"answ return EndIf yv\x1 nv\n1 zv\x2 ov\n2 y/nv\p1_hat z/ov\p2_hat (y+z)/(n+o)v\p_hat (v\p1_hat-v\p2_hat)/(v\p_hat*(1.-v\p_hat)*(1/n+1/o))v\z abs(v\z)i s\nrmtail(v\z)f ^(x^2/2)/(2)h If v\ahyp=1 Then ""s 2*s\nrmtail(abs(v\z))v\p xig ElseIf v\ahyp=2 Then "<"s 1-fv\p x"s fv\p x>v\zg EndIf If gettype(v\p)="STR" then v\pansw return EndIf If v\calcdraw=0:return string(v\z)t string(v\p)p If v\calcdraw=1 Then Dialog Title "2-Prop Z-Test Results" Text "p1"&s&"p2" Text "z ="&t Text "p ="&p Text "p1_hat ="&string(v\p1_hat) Text "p2_hat ="&string(v\p2_hat) Text "p_hat ="&string(v\p_hat) Text "n1 ="&string(v\n1) Text "n2 ="&string(v\n2) EndDlog Else 3xmin:3xmax:0ymin:0.5ymax 1xscl:0.1yscl:2xres:clrdraw shade when(g,0,h),h pttext "z="&t,3,.4 pttext "p="&p,3,.35 pause EndIf EndPrgmH() Prgm Local t,u "List of Binomial Random Integers"t "v\list"u Dialog Title t Text "Choose a global variable that will" Text "hold the random list" Dropdown "Variable:",{u,u&"1",u&"2"},v\ivar EndDlog If ok=0: return s\texec(t,{"n","p","nl"},{"Number of Events","P-success","How many"},"randbinf") s\dspenans() If ok=0: return If v\ivar=2 Then u&"1"u ElseIf v\ivar=3 Then u&"2"u EndIf expr("answ"&u) disp "Rand's Stored in "&u EndPrgm(n,p,m) Func Local ,l,i,f,j s\fchkstat() If "":Return "RANDBINF:"& s\chks({n,p,m},{"n","p","n"}) If "":Return "RANDBINF:"& newList(m)l For i,1,m 0f For j,1,n If rand()p:f+1f EndFor fl[i] EndFor l EndFuncJH() Prgm Local t,u "List of Uniform Random Integers"t "v\freq"u Dialog Title t Text "Choose a global variable that will" Text "hold the random list" Dropdown "Variable:",{u,u&"1",u&"2"},v\ivar EndDlog If ok=0: return s\texec(t,{"nlower","nupper","nl"},{"Lower Value","Upper Value","How many"},"randintf") s\dspenans() If ok=0: return If v\ivar=2 Then u&"1"u ElseIf v\ivar=3 Then u&"2"u EndIf expr("answ"&u) disp "Rand's Stored in "&u EndPrgm(l,u,n) Func Local ,m,i s\fchkstat() If "":Return "RANDINTF:"& s\chks({l,u,n},{"i","i","n"}) If "":Return "RANDINTF:"& If l>u then lf ul fu EndIf newlist(n)m For i,1,n rand(u-l+1)+l-1m[i] EndFor m EndFunc@I() Prgm Local t,u "List of Normal Random Numbers"t "v\list"u Dialog Title t Text "Choose a global variable that will" Text "hold the random list" Dropdown "Variable:",{u,u&"1",u&"2"},v\ivar EndDlog If ok=0: return s\texec(t,{"","","nl"},{"Mean","Std Dev","How many"},"randnrmf") s\dspenans() If ok=0: return If v\ivar=2 Then u&"1"u ElseIf v\ivar=3 Then u&"2"u EndIf expr("answ"&u) disp "Rand's Stored in "&u EndPrgmܰ(m,s,n) Func Local ,l,i s\fchkstat() If "":Return "RANDNRMF:"& s\chks({m,s,n},{"0","s","n"}) If "":Return "RANDNRMF:"& newlist(n)l For i,1,n randnorm(m,s)l[i] EndFor l EndFunca@() Prgm Local t,u "List of Uniform Random Numbers"t "v\list"u Dialog Title t Text "Choose a global variable that will" Text "hold the random list" Dropdown "Variable:",{u,u&"1",u&"2"},v\ivar EndDlog If ok=0: return s\texec(t,{"lower","upper","nl"},{"Lower Value","Upper Value","How many"},"randomf") s\dspenans() If ok=0: return If v\ivar=2 Then u&"1"u ElseIf v\ivar=3 Then u&"2"u EndIf expr("answ"&u) disp "Rand's Stored in "&u EndPrgm>(l,u,n) Func Local ,m,i s\fchkstat() If "":Return "RANDOMF:"& s\chks({l,u,n},{"0","0","n"}) If "":Return "RANDOMF:"& newlist(n)m For i,1,n rand()*(u-l)+lm[i] EndFor m EndFunc>.() Prgm Local o,,, s\pchkstat() If ok=0:Return main\cstfldrs {"none"} For o,1,dim() [o]&"\cstm"&left([o],4) If getType(#)="PRGM":augment({},) EndFor Dialog DropDown "CUSTOM toolbar",,o EndDlog If ok=0:Return Custom EndCustm If [o]="none":Return expr([o]&"()") EndPrgmjh() Prgm s\texec("Student-t PDF Shading",{"lower","upper","df"},{"Lower Value","Upper Value","Degrees of Freedom"},"shd_tf") s\dspansp() EndPrgmܙ2(l,u,d) Prgm Local f,p,t,g,h,i,,e,q,s DelVar x s\chks({l,u,d},{"0","0","d"}) If "" then "SHD_TF:"&answ return EndIf If l>u then lf ul fu EndIf 0.5*de e+0.5q s\logamma(q)-s\logamma(e)-0.24857493634707+e*log(d)s 10^(s-q*log(d+x^2))h s\ttail(l,d)-s\ttail(u,d)v\area 10^(s-q*log(d))f f/10t x>l and xu then lf ul fu EndIf d/2i 10^s\logamma(i)*2^iy ^(x/2)*x^(i-1)/yh s\chi2cdff(l,u,d)v\area (d-2)z ^(z/2)*z^(i-1)/yf f/10t z*3/10s x>l and xu then lf ul fu EndIf 0.5*bn 0.5*cd n+dp b/ca s\logamma(p)-s\logamma(n)-s\logamma(d)t 10^(t)*10^(p*log(1+a*x))*10^(n*log(a*x))/xh a^n*10^tt t*x^(n-1)/(1+a*x)^ph s\fcdff(l,u,b,c)v\area (n-1)/a/(p-n+1)z t*z^(n-1)/(1+a*z)^pf If z0:0.2z f/10t z*15/10s x>l and xu then lf ul fu EndIf 1/(2)/sf f/10t ^((x-m)^2/2/s^2)*fh s\nrmtail((l-m)/s)-s\nrmtail((u-m)/s)v\area x>l and xig ElseIf v\ahyp=2 Then "<"s 1-fv\p x"s fv\p x>v\tg EndIf If gettype(v\p)="STR" then v\pansw return EndIf If v\calcdraw=0:return string(v\t)t string(v\p)p ""u If v\pooled1:", Sxp="&string(q)u If v\calcdraw=1 Then Dialog Title "2 Samp T-Test Results" Text "1"&s&"2" Text "t ="&t Text "p ="&p Text "df ="&string(v\df) Text "1 ="&string(v\x1_bar) Text "2 ="&string(v\x2_bar) Text "Sx1="&string(v\sx1) Text "Sx2="&string(v\sx2)&u Text "n1 ="&string(v\n1)&", n2="&string(v\n2) EndDlog Else 3xmin:3xmax:0ymin:0.5ymax 1xscl:0.1yscl:2xres:clrdraw shade when(g,0,h),h pttext "t="&t,3,.4 pttext "p="&p,3,.35 pause EndIf EndPrgm@e() Prgm s\texec("Student-t Area",{"lower","upper","df"},{"Lower Value","Upper Value","Degrees of Freedom"},"tcdff") s\dspenans() EndPrgmE0(l,u,d) Func Local s\fchkstat() If "":Return "TAREA:"& s\chks({l,u,d},{"0","0","t"}) If "":return "TAREA:"& s\ttail(l,d)-s\ttail(u,d) EndFunch5r(t,l,m,p) Prgm Local o,i,1,2,3,4,5,6,7,n,b setmode("Display Digits","Float")o dim(l)n for i,1,n expr("string(v\"&l[i]&")"&string(exact(i))) EndFor setmode("Display Digits",o) If n<2 Then return "Internal Error in Stat!" ElseIf n=2 Then Dialog Title t Request m[1],1 Request m[2],2 EndDlog ElseIf n=3 Then Dialog Title t Request m[1],1 Request m[2],2 Request m[3],3 EndDlog ElseIf n=4 Then Dialog Title t Request m[1],1 Request m[2],2 Request m[3],3 Request m[4],4 EndDlog ElseIf n=5 Then Dialog Title t Request m[1],1 Request m[2],2 Request m[3],3 Request m[4],4 Request m[5],5 EndDlog ElseIf n=6 Then Dialog Title t Request m[1],1 Request m[2],2 Request m[3],3 Request m[4],4 Request m[5],5 Request m[6],6 EndDlog ElseIf n=7 Then Dialog Title t Request m[1],1 Request m[2],2 Request m[3],3 Request m[4],4 Request m[5],5 Request m[6],6 Request m[7],7 EndDlog Else return "Internal Error in Stat!" EndIf If ok=1 Then "("b for i,1,n expr("expr("&string(exact(i))&")v\"&l[i]) expr(""&string(exact(i))&"o") If iig ElseIf v\ahyp=2 Then "<"s 1-fv\p x"s fv\p x>v\tg EndIf If gettype(v\p)="STR" then v\pansw return EndIf If v\calcdraw=0:return string(v\t)t string(v\p)p If v\calcdraw=1 Then Dialog Title "T-Test Results" Text ""&s&string(m) Text "t ="&t Text "p ="&p Text " ="&string(v\x_bar) Text "Sx="&string(v\sx_) Text "n ="&string(v\n) EndDlog Else 3xmin:3xmax:0ymin:0.5ymax 1xscl:0.1yscl:2xres:clrdraw shade when(g,0,h),h pttext "t="&t,3,.4 pttext "p="&p,3,.35 pause EndIf EndPrgm(m,l,f) Prgm Local If gettype(m)"NUM" then "TTST1: Inputs must be real!"answ return EndIf s\chkll(l,f) If gettype()="STR" Then "TTST1:"&answ return EndIf f onevar l,f v\x_bar sxv\sx_ nstatv\n s\ttst(m) EndPrgm#O(m,x,s,n) Prgm Local s\chks({m,x,s,n},{"0","0","s","n"}) If "" then "TTST2:"&answ return EndIf xv\x_bar sv\sx_ nv\n s\ttst(m) EndPrgm1(l,o,f,g) Prgm Local s\chkll(l,f) If gettype()="STR" Then "TTST21:"&answ return EndIf f s\chkll(o,g) If gettype()="STR" Then "TTST21:"&answ return EndIf g onevar l,f v\x1_bar sxv\sx1 nstatv\n1 onevar o,g v\x2_bar sxv\sx2 nstatv\n2 s\t2tst() EndPrgm](x,s,n,y,r,o) Prgm Local s\chks({x,s,n,y,r,o},{"0","s","n","0","s","n"}) If "" then "TTST22:"&answ return EndIf xv\x1_bar sv\sx1 nv\n1 yv\x2_bar rv\sx2 ov\n2 s\t2tst() EndPrgmܾ> () Prgm local t "Z-Interval"t s\dstit0(t) If ok=0: return 1v\calcdraw If v\idata=1 Then s\texec(t,{"","list","freq","clevel"},{"","List","Freq","CLevel"},"zintf") Else s\texec(t,{"","x_bar","n","clevel"},{"","","n","CLevel"},"zintf") EndIf s\dstit1(t) s\dspansp() EndPrgm[() Prgm 1v\calcdraw s\texec("1 Proportion Z-Interval",{"x","n","clevel"},{"x (successes)","n (observations)","CLevel"},"pzint1") s\dspansp() EndPrgm]4() Prgm 1v\calcdraw s\texec("2 Proportion Z-Interval",{"x1","n1","x2","n2","clevel"},{"x1","n1","x2","n2","CLevel"},"pzint2") s\dspansp() EndPrgmܢ/() Prgm local t "2 Samp Z-Interval"t s\dstit0(t) If ok=0: return 1v\calcdraw If v\idata=1 Then s\texec(t,{"1","2","list1","list2","freq1","freq2","clevel"},{"1","2","List 1","List 2","Freq 1","Freq 2","CLevel"},"zint21") Else s\texec(t,{"1","2","x1_bar","n1","x2_bar","n2","clevel"},{"1","2","1","n1","2","n2","CLevel"},"zint22") EndIf s\dstit1(t) s\dspansp() EndPrgmt(s,r,l,m,f,g,c) Prgm Local i,t, s\chks({s,r,c},{"s","s","c"}) If "" then "ZINT21:"&answ return EndIf s\chkll(l,f) If gettype()="STR" Then "ZINT21:"&answ return EndIf f s\chkll(m,g) If gettype()="STR" Then "ZINT21:"&answ return EndIf g If c1:0.01*cc onevar l,f v\x1_bar nstatv\n1 sxv\sx1 onevar m,g v\x2_bar nstatv\n2 sxv\sx2 s\nrminv(0.5*(1-c))t If gettype(t)="STR" then tansw return EndIf v\x1_bar-+(s^2/v\n1+r^2/nstat)*t*{1,1}i i[1]v\lower i[2]v\upper If v\calcdraw=0:return Dialog Title "2 Samp Z-Interval Results" Text "{"&string(i[1])&", "&string(i[2])&"}" Text "1 ="&string(v\x1_bar) Text "2 ="&string(v\x2_bar) Text "Sx1="&string(v\sx1) Text "Sx2="&string(v\sx2) Text "n1 ="&string(v\n1) Text "n2 ="&string(v\n2) EndDlog EndPrgm܌(s,r,x,n,y,o,c) Prgm Local t,i, s\chks({s,r,x,n,y,o,c},{"s","s","0","n","0","n","c"}) If "" then "ZINT22:"&answ return EndIf If c1:0.01*cc s\nrminv(0.5*(1-c))t If gettype(t)="STR" then "ZINT22:"&tansw return EndIf x-y+(s^2/n+r^2/o)*t*{1,1}i i[1]v\lower i[2]v\upper If v\calcdraw=0:return Dialog Title "2 Samp Z-Interval Results" Text "{"&string(i[1])&", "&string(i[2])&"}" Text "1 ="&string(v\x1_bar) Text "2 ="&string(v\x2_bar) Text "n1 ="&string(v\n1) Text "n2 ="&string(v\n2) EndDlog EndPrgmy(s,l,f,c) Prgm Local i,t, s\chks({s,c},{"s","c"}) If "" then "ZINTF:"&answ return EndIf If c1: 0.01*cc If gettype(l)="LIST" and v\idata=2 Then "ZINTF:[Stats] option requires NOT be a list!"answ return ElseIf gettype(l)"LIST" and v\idata=1 Then "ZINTF:[Data] option requires a list!"answ return EndIf If gettype(l)="LIST" Then s\chkll(l,f) If gettype()="STR" Then "ZINTF:"&answ return EndIf f onevar l,f v\x_bar nstatv\n sxv\sx_ Else s\chks({l,f},{"0","n"}) If "" then "ZINTF:"&answ return EndIf EndIf s\nrminv(0.5*(1-c))t If gettype(t)="STR" then tansw return EndIf v\x_bar+s/(v\n)*t*{1,1}i i[1]v\lower i[2]v\upper If v\calcdraw=0:return If gettype(l)="LIST" Then Dialog Title "Z-Interval Results" Text "{"&string(i[1])&", "&string(i[2])&"}" Text " ="&string(v\x_bar) Text "Sx="&string(v\sx_) Text "n ="&string(v\n) EndDlog Else Dialog Title "Z-Interval Results" Text "{"&string(i[1])&", "&string(i[2])&"}" Text " ="&string(v\x_bar) Text "n ="&string(v\n) EndDlog EndIf EndPrgmP() Prgm local t "Z-Test"t s\dstit0(t) If ok=0: return If v\idata=1 Then s\texec(t,{"0","","list","freq"},{"0","","List","Freq"},"ztst") Else s\texec(t,{"0","","x_bar","n"},{"0","","","n"},"ztst") EndIf s\dstitb1(t,"","0") s\dspansp() EndPrgm7QN() Prgm Local t,a,b "1 Prop Z-Test"t s\texec(t,{"p0","x","n"},{"Expected Prop","x (successes)","n (observations)"},"pztst1") If ok=0: return "prop"a:"p0"b Dialog Title t Dropdown "Altern Hyp?",{a&""&b,a&"<"&b,a&">"&b},v\ahyp Dropdown "Results?",{"Calculate","Draw"},v\calcdraw EndDlog If ok=0: return s\dspansp() EndPrgmj4() Prgm Local t,a,b "2 Prop Z-Test"t s\texec(t,{"x1","n1","x2","n2"},{"x1","n1","x2","n2"},"pztst2") If ok=0: return "p1"a:"p2"b Dialog Title t Dropdown "Altern Hyp?",{a&""&b,a&"<"&b,a&">"&b},v\ahyp Dropdown "Results?",{"Calculate","Draw"},v\calcdraw EndDlog If ok=0: return s\dspansp() EndPrgmܷ][() Prgm Local t "2 Samp Z-Test"t s\dstit0(t) If ok=0: return If v\idata=1 Then s\texec(t,{"1","2","list1","list2","freq1","freq2"},{"1","2","List 1","List 2","Freq 1","Freq 2"},"ztst21") Else s\texec(t,{"1","2","x1_bar","n1","x2_bar","n2"},{"1","2","1","n1","2","n2"},"ztst22") EndIf s\dstitb1(t,"1","2") s\dspansp() EndPrgme (m,r,l,f) Prgm Local f1,p,t,s,g,h,i,u, DelVar x s\chks({m,r},{"0","s"}) If "" then "ZTST:"&answ return EndIf If v\idata=1 Then s\chkll(l,f) If gettype()="STR" Then "ZTST:"&answ return EndIf f1 onevar l,f1 v\x_bar sxv\sx_ nstatv\n ", Sx="&string(sx)u Else s\chks({l,f},{"0","n"}) If "" then "ZTST:"&answ return EndIf lv\x_bar fv\n ""u EndIf (v\x_bar-m)/r*(v\n)v\z abs(v\z)i s\nrmtail(v\z)f1 ^(x^2/2)/(2)h If v\ahyp=1 Then ""s 2*s\nrmtail(abs(v\z))v\p xig ElseIf v\ahyp=2 Then "<"s 1-f1v\p x"s f1v\p x>v\zg EndIf If gettype(v\p)="STR" then v\pansw return EndIf If v\calcdraw=0:return string(v\z)t string(v\p)p If v\calcdraw=1 Then Dialog Title "Z-Test Results" Text ""&s&string(m) Text "z ="&t Text "p ="&p Text " ="&string(v\x_bar)&u Text "n ="&string(v\n) EndDlog Else 3xmin:3xmax:0ymin:0.5ymax 1xscl:0.1yscl:2xres:clrdraw shade when(g,0,h),h pttext "z="&t,3,.4 pttext "p="&p,3,.35 pause EndIf EndPrgmNC (s1,s2) Prgm Local f,p,t,s,g,h,i DelVar x (v\x1_bar-v\x2_bar)/(s1^2/v\n1+s2^2/v\n2)v\z abs(v\z)i s\nrmtail(v\z)f ^(x^2/2)/(2)h If v\ahyp=1 Then ""s 2*s\nrmtail(abs(v\z))v\p xig ElseIf v\ahyp=2 Then "<"s 1-fv\p x"s fv\p x>v\zg EndIf If gettype(v\p)="STR" then v\pansw return EndIf If v\calcdraw=0:return string(v\z)t string(v\p)p If v\calcdraw=1 Then If v\idata=1 Then Dialog Title "2 Samp Z-Test Results" Text "1"&s&"2" Text "z ="&t Text "p ="&p Text "1 ="&string(v\x1_bar) Text "2 ="&string(v\x2_bar) Text "Sx1="&string(v\sx1) Text "Sx2="&string(v\sx2) Text "n1 ="&string(v\n1)&", n2="&string(v\n2) EndDlog Else Dialog Title "2 Samp Z-Test Results" Text "1"&s&"2" Text "z ="&t Text "p ="&p Text "1 ="&string(v\x1_bar) Text "2 ="&string(v\x2_bar) Text "n1 ="&string(v\n1)&", n2="&string(v\n2) EndDlog EndIf Else 3xmin:3xmax:0ymin:0.5ymax 1xscl:0.1yscl:2xres:clrdraw shade when(g,0,h),h pttext "z="&t,3,.4 pttext "p="&p,3,.35 pause EndIf EndPrgmFAl(s,r,l,m,f,g) Prgm Local s\chks({s,r},{"s","s"}) If "" then "ZTST21:"&answ return EndIf s\chkll(l,f) If gettype()="STR" Then "ZTST21:"&answ return EndIf f s\chkll(m,g) If gettype()="STR" Then "ZTST21:"&answ return EndIf g onevar l,f v\x1_bar nstatv\n1 sxv\sx1 onevar m,g v\x2_bar nstatv\n2 sxv\sx2 s\ztst2(s,r) EndPrgm܀w(s,r,x,n,y,o) Prgm Local s\chks({s,r,x,n,y,o},{"s","s","0","n","0","n"}) If "" then "ZTST22:"&answ return EndIf xv\x1_bar nv\n1 yv\x2_bar ov\n2 s\ztst2(s,r) EndPrgm:*+