|
481 | 481 | a = n2*(lim-1)
|
482 | 482 | b = n1*lim+n2-(x1+x2)*(lim-1)
|
483 | 483 | c = -(x1+x2)
|
484 |
| - p2d = (-b+sqrt(b^2-4*a*c))/(2*a) |
| 484 | + p2d = (-b+sqrt(b^2-4*a*c))/2a |
485 | 485 | p1d = p2d*lim/(1+p2d*(lim-1))
|
486 | 486 | score = ((n1*(px-p1d))^2)*(1/(n1*p1d*(1-p1d))+1/(n2*p2d*(1-p2d)))*(n1+n2-1)/(n1+n2)
|
487 | 487 | ci = lim
|
|
494 | 494 | a = n2*(φ-1)
|
495 | 495 | b = φ*n1+n2-(x1+x2)*(φ-1)
|
496 | 496 | c = -(x1 + x2)
|
497 |
| - p2 = (-b+sqrt(b*b-4*a*c))/a/2 |
| 497 | + p2 = (-b+sqrt(b*b - 4a * c))/2a |
498 | 498 | p1 = p2*φ/(1+p2*(φ-1))
|
499 | 499 | return p1, p2
|
500 | 500 | end
|
@@ -666,10 +666,10 @@ end
|
666 | 666 | b = -(1 + theta + p1 + theta * p2 + Δ*(theta + 2))
|
667 | 667 | c = Δ^2 + Δ*(2 * p1 + theta + 1) + p1 + theta * p2
|
668 | 668 | d = -p1*Δ*(1 + Δ)
|
669 |
| - v = (b/a/3)^3 - b*c/(6*a*a) + d/2/a |
670 |
| - u = sign(v) * sqrt((b/3/a)^2 - c/3/a) |
| 669 | + v = (b/3a)^3 - b*c/(6*a*a) + d/2a |
| 670 | + u = sign(v) * sqrt((b/3a)^2 - c/3a) |
671 | 671 | w = (pi + acos(v/u^3))/3
|
672 |
| - p1n = 2*u*cos(w) - b/3/a |
| 672 | + p1n = 2u*cos(w) - b/3a |
673 | 673 | p2n = p1n - Δ
|
674 | 674 | return p1n * (1-p1n)/n1 + p2n * (1 - p2n)/n2
|
675 | 675 | end
|
@@ -720,18 +720,18 @@ end
|
720 | 720 | #Miettinen-Nurminen Score interval
|
721 | 721 | #Miettinen, O. and Nurminen, M. (1985), Comparative analysis of two rates. Statist. Med., 4: 213-226. doi:10.1002/sim.4780040211
|
722 | 722 | @inline function mlemnrr(φ, x1::Int, n1::Int, x2::Int, n2::Int)
|
723 |
| - a = (n1+n2)*φ |
724 |
| - b = -(φ*(x1+n2)+x2+n1) |
| 723 | + a = (n1 + n2) * φ |
| 724 | + b = -(φ *(x2 + n1) + x1 + n2) |
725 | 725 | c = x1 + x2
|
726 |
| - p2 = (-b-sqrt(b*b-4*a*c))/2/a |
727 |
| - p1 = p2*φ |
| 726 | + p2 = (-b-sqrt(b*b-4a*c))/2a |
| 727 | + p1 = p2 * φ |
728 | 728 | return p1, p2
|
729 | 729 | end
|
730 | 730 | @inline function mnrrval(φ, x1::Int, n1::Int, x2::Int, n2::Int, z)
|
731 | 731 | p1 = x1/n1
|
732 | 732 | p2 = x2/n2
|
733 | 733 | pmle1, pmle2 = mlemnrr(φ, x1, n1, x2, n2)
|
734 |
| - return ((p1 - φ*p2)^2)/((pmle1*(1-pmle1)/n1 + φ*φ*pmle2*(1-pmle2)/n2)*((n1+n2-1)/(n1+n2)))-z |
| 734 | + return ((p1 - φ*p2)^2)/((pmle1*(1-pmle1)/n1 + φ*φ*pmle2*(1-pmle2)/n2)*(n1+n2)/(n1+n2-1)) - z |
735 | 735 | end
|
736 | 736 | function proprrmnci(x1::Int, n1::Int, x2::Int, n2::Int, alpha)
|
737 | 737 | z = quantile(Chisq(1), 1 - alpha)
|
|
0 commit comments