Program g12abfe ! G12ABF Example Program Text ! Mark 24 Release. NAG Copyright 2012. ! .. Use Statements .. Use nag_library, Only: g12abf, nag_wp ! .. Implicit None Statement .. Implicit None ! .. Parameters .. Integer, Parameter :: nin = 5, nout = 6 ! .. Local Scalars .. Real (Kind=nag_wp) :: p, ts Integer :: df, i, ifail, ldn, lfreq, lwt, n, & nd, ngrp Character (1) :: freq, weight ! .. Local Arrays .. Real (Kind=nag_wp), Allocatable :: expt(:), obsd(:), t(:), wt(:) Integer, Allocatable :: di(:), grp(:), ic(:), ifreq(:), ni(:) ! .. Executable Statements .. Write (nout,*) 'G12ABF Example Program Results' Write (nout,*) ! Skip heading in data file Read (nin,*) ! Read in the problem size Read (nin,*) n, ngrp, freq, weight If (freq=='F' .Or. freq=='f') Then lfreq = n Else lfreq = 0 End If If (weight=='W' .Or. weight=='w') Then lwt = n Else lwt = 0 End If ldn = n Allocate (t(n),ic(n),grp(n),ifreq(lfreq),obsd(ngrp),expt(ngrp),di(ldn), & ni(ldn),wt(lwt)) ! Read in data If (lfreq==0) Then Read (nin,*)(t(i),ic(i),grp(i),i=1,n) Else Read (nin,*)(t(i),ic(i),grp(i),ifreq(i),i=1,n) End If ! Calculate the statistic ifail = 0 Call g12abf(n,t,ic,grp,ngrp,freq,ifreq,weight,wt,ts,df,p,obsd,expt,nd, & di,ni,ldn,ifail) ! Display results Write (nout,99999) 'Observed', 'Expected' Write (nout,99998)('Group',i,obsd(i),expt(i),i=1,ngrp) Write (nout,*) Write (nout,99996) 'No. Unique Failure Times = ', nd Write (nout,*) Write (nout,99997) 'Test Statistic = ', ts Write (nout,99996) 'Degrees of Freedom = ', df Write (nout,99997) 'p-value = ', p 99999 Format (11X,A,2X,A) 99998 Format (1X,A,1X,I1,1X,F8.2,2X,F8.2) 99997 Format (1X,A,1X,F8.4) 99996 Format (1X,A,1X,I3) End Program g12abfe