An R package to construct the admissible exact intervals for the binomial proportion, the poisson mean and the total number of subjects with a certain attribute or the total number of the subjects for the hypergeometric distribution. Both one-sided and two-sided intervals are of interest. This package can be used to calculate the intervals constructed methods developed by Wang (2014) and Wang (2015).
You can install the development version of ExactCIone like so:
library("devtools")
install_github("befrthunder/ExactCIone",dependencies =TRUE, build_vignettes = TRUE)
This is a basic example which shows you how to solve a common problem:
library(ExactCIone)
# For bin(n,p), construct 95% admissible CI for p on the observed sample x=2 when n=5.
WbinoCI(x=2,n=5,conf.level=0.95,details=TRUE)
#> $CI
#> x lower upper
#> [1,] 2 0.0764403 0.8107447
#>
#> $CIM
#> x lower upper
#> [1,] 0 0.00000000 0.5000000
#> [2,] 1 0.01020614 0.6574084
#> [3,] 2 0.07644030 0.8107447
#> [4,] 3 0.18925530 0.9235597
#> [5,] 4 0.34259163 0.9897939
#> [6,] 5 0.49999997 1.0000000
#>
#> $icp
#> [1] 0.95
WbinoCI(x=2,n=5,conf.level=0.95)
#> $CI
#> x lower upper
#> [1,] 2 0.0764403 0.8107447
WbinoCI_lower(x=2,n=5,conf.level=0.95,details=TRUE)
#> $CI
#> sample lower upper
#> [1,] 0 0.000000000 1
#> [2,] 1 0.005050763 1
#> [3,] 2 0.052744951 1
#> [4,] 3 0.146632800 1
#> [5,] 4 0.283582064 1
#> [6,] 5 0.478176250 1
WbinoCI_lower(x=2,n=5,conf.level=0.95)
#> $CI
#> sample lower upper
#> [1,] 2 0.05274495 1
########################################################################
# For pois(lambda), construct 95% admissible CI for lambda on the observed sample x=3.
WpoisCI(x=3,details = TRUE)
#> $CI
#> x lower upper
#> [1,] 3 0.8176914 8.395386
#>
#> $CIM
#> x lower upper
#> [1,] 0 0.00000000 3.453832
#> [2,] 1 0.05129329 5.491160
#> [3,] 2 0.35536150 6.921952
#> [4,] 3 0.81769144 8.395386
#>
#> $icp
#> [1] 0.95
WpoisCI(x=1)
#> $CI
#> x lower upper
#> [1,] 1 0.05129329 5.49116
WpoisCI_lower(x=1)
#> $CI
#> sample
#> [1,] 1 0.05129329 Inf
WpoisCI_lower(x=3,details = TRUE)
#> $CI
#> x lower upper
#> [1,] 3 0.8176914 Inf
#>
#> $CIM
#> sample lower upper
#> [1,] 0 0.00000000 Inf
#> [2,] 1 0.05129329 Inf
#> [3,] 2 0.35536151 Inf
#> [4,] 3 0.81769145 Inf
WpoisCI_upper(x=1)
#> $CI
#> sample
#> [1,] 1 0 4.743865
WpoisCI_upper(x=3,details = TRUE)
#> $CI
#> x lower upper
#> [1,] 3 0 7.753657
#>
#> $CIM
#> sample lower upper
#> [1,] 0 0 2.995732
#> [2,] 1 0 4.743865
#> [3,] 2 0 6.295794
#> [4,] 3 0 7.753657
#######################################################################
# For hyper(n,x,M,N-M), construct 95% admissible CI for N on the observed sample x=10 when n=50,M=800.
WhyperCI_N(10,50,800,0.95,details=TRUE)
#> $CI
#> x lower upper
#> [1,] 10 2445 7955
#>
#> $CIM
#> x lower upper
#> [1,] 0 12572 Inf
#> [2,] 1 7956 780253
#> [3,] 2 6108 111784
#> [4,] 3 4914 48296
#> [5,] 4 4425 28760
#> [6,] 5 3760 19857
#> [7,] 6 3472 14911
#> [8,] 7 3018 12571
#> [9,] 8 2828 10875
#> [10,] 9 2657 8435
#> [11,] 10 2445 7955
#> [12,] 11 2243 6450
#> [13,] 12 2130 6107
#> [14,] 13 2026 5118
#> [15,] 14 1931 4913
#> [16,] 15 1844 4424
#> [17,] 16 1764 3938
#> [18,] 17 1689 3759
#> [19,] 18 1620 3471
#> [20,] 19 1555 3121
#> [21,] 20 1495 3017
#> [22,] 21 1439 2827
#> [23,] 22 1386 2656
#> [24,] 23 1336 2444
#> [25,] 24 1289 2321
#> [26,] 25 1255 2242
#> [27,] 26 1229 2129
#> [28,] 27 1200 2025
#> [29,] 28 1163 1930
#> [30,] 29 1125 1843
#> [31,] 30 1101 1763
#> [32,] 31 1082 1688
#> [33,] 32 1053 1619
#> [34,] 33 1020 1554
#> [35,] 34 1010 1494
#> [36,] 35 988 1438
#> [37,] 36 964 1385
#> [38,] 37 952 1335
#> [39,] 38 925 1288
#> [40,] 39 917 1231
#> [41,] 40 893 1199
#> [42,] 41 887 1162
#> [43,] 42 869 1124
#> [44,] 43 860 1081
#> [45,] 44 847 1052
#> [46,] 45 835 1019
#> [47,] 46 824 987
#> [48,] 47 815 951
#> [49,] 48 807 924
#> [50,] 49 801 892
#> [51,] 50 800 859
#>
#> $icp
#> [1] 0.95
WhyperCI_N(50,50,800,0.95)
#> $CI
#> x lower upper
#> [1,] 50 800 859
WhyperCI_N_lower(0,50,800,0.95,details=TRUE)
#> $CI
#> sample lower upper
#> [1,] 0 13781 Inf
#>
#> $CIM
#> sample lower upper
#> [1,] 0 13781 Inf
#> [2,] 1 8772 Inf
#> [3,] 2 6649 Inf
#> [4,] 3 5426 Inf
#> [5,] 4 4617 Inf
#> [6,] 5 4036 Inf
#> [7,] 6 3596 Inf
#> [8,] 7 3251 Inf
#> [9,] 8 2971 Inf
#> [10,] 9 2739 Inf
#> [11,] 10 2544 Inf
#> [12,] 11 2377 Inf
#> [13,] 12 2233 Inf
#> [14,] 13 2106 Inf
#> [15,] 14 1995 Inf
#> [16,] 15 1895 Inf
#> [17,] 16 1806 Inf
#> [18,] 17 1726 Inf
#> [19,] 18 1653 Inf
#> [20,] 19 1587 Inf
#> [21,] 20 1527 Inf
#> [22,] 21 1471 Inf
#> [23,] 22 1420 Inf
#> [24,] 23 1372 Inf
#> [25,] 24 1328 Inf
#> [26,] 25 1288 Inf
#> [27,] 26 1249 Inf
#> [28,] 27 1214 Inf
#> [29,] 28 1181 Inf
#> [30,] 29 1149 Inf
#> [31,] 30 1120 Inf
#> [32,] 31 1092 Inf
#> [33,] 32 1066 Inf
#> [34,] 33 1042 Inf
#> [35,] 34 1019 Inf
#> [36,] 35 997 Inf
#> [37,] 36 976 Inf
#> [38,] 37 957 Inf
#> [39,] 38 938 Inf
#> [40,] 39 921 Inf
#> [41,] 40 904 Inf
#> [42,] 41 889 Inf
#> [43,] 42 874 Inf
#> [44,] 43 860 Inf
#> [45,] 44 847 Inf
#> [46,] 45 835 Inf
#> [47,] 46 824 Inf
#> [48,] 47 815 Inf
#> [49,] 48 807 Inf
#> [50,] 49 801 Inf
#> [51,] 50 800 Inf
WhyperCI_N_lower(0,50,800,0.95)
#> $CI
#> x
#> [1,] 0 13781 Inf
WhyperCI_N_upper(0,50,800,0.95,details=TRUE)
#> $CI
#> sample lower upper
#> [1,] 0 0 Inf
#>
#> $CIM
#> sample lower upper
#> [1,] 0 0 Inf
#> [2,] 1 0 780253
#> [3,] 2 0 111784
#> [4,] 3 0 48296
#> [5,] 4 0 28760
#> [6,] 5 0 19857
#> [7,] 6 0 14911
#> [8,] 7 0 11814
#> [9,] 8 0 9716
#> [10,] 9 0 8209
#> [11,] 10 0 7081
#> [12,] 11 0 6208
#> [13,] 12 0 5514
#> [14,] 13 0 4950
#> [15,] 14 0 4484
#> [16,] 15 0 4093
#> [17,] 16 0 3760
#> [18,] 17 0 3474
#> [19,] 18 0 3226
#> [20,] 19 0 3008
#> [21,] 20 0 2816
#> [22,] 21 0 2645
#> [23,] 22 0 2492
#> [24,] 23 0 2355
#> [25,] 24 0 2231
#> [26,] 25 0 2118
#> [27,] 26 0 2016
#> [28,] 27 0 1921
#> [29,] 28 0 1835
#> [30,] 29 0 1755
#> [31,] 30 0 1682
#> [32,] 31 0 1613
#> [33,] 32 0 1550
#> [34,] 33 0 1490
#> [35,] 34 0 1435
#> [36,] 35 0 1383
#> [37,] 36 0 1334
#> [38,] 37 0 1288
#> [39,] 38 0 1244
#> [40,] 39 0 1203
#> [41,] 40 0 1164
#> [42,] 41 0 1127
#> [43,] 42 0 1092
#> [44,] 43 0 1058
#> [45,] 44 0 1026
#> [46,] 45 0 995
#> [47,] 46 0 965
#> [48,] 47 0 936
#> [49,] 48 0 907
#> [50,] 49 0 878
#> [51,] 50 0 847
WhyperCI_N_upper(0,50,800,0.95)
#> $CI
#> x
#> [1,] 0 0 Inf
#######################################################################
# For hyper(n,x,M,N-M), construct 95% admissible CI for M on the observed sample x=0 when n=50, N=2000.
WhyperCI_M(0,50,2000,0.95,details = TRUE)
#> $CI
#> X lower upper
#> [1,] 0 0 136
#>
#> $CIM
#> x lower upper
#> [1,] 0 0 136
#> [2,] 1 3 210
#> [3,] 2 15 271
#> [4,] 3 34 328
#> [5,] 4 57 381
#> [6,] 5 82 433
#> [7,] 6 109 483
#> [8,] 7 137 531
#> [9,] 8 152 579
#> [10,] 9 192 625
#> [11,] 10 211 661
#> [12,] 11 251 715
#> [13,] 12 272 760
#> [14,] 13 315 803
#> [15,] 14 329 846
#> [16,] 15 382 888
#> [17,] 16 410 930
#> [18,] 17 434 971
#> [19,] 18 484 1000
#> [20,] 19 516 1028
#> [21,] 20 532 1069
#> [22,] 21 580 1111
#> [23,] 22 626 1153
#> [24,] 23 662 1196
#> [25,] 24 691 1239
#> [26,] 25 716 1284
#> [27,] 26 761 1309
#> [28,] 27 804 1338
#> [29,] 28 847 1374
#> [30,] 29 889 1420
#> [31,] 30 931 1468
#> [32,] 31 972 1484
#> [33,] 32 1000 1516
#> [34,] 33 1029 1566
#> [35,] 34 1070 1590
#> [36,] 35 1112 1618
#> [37,] 36 1154 1671
#> [38,] 37 1197 1685
#> [39,] 38 1240 1728
#> [40,] 39 1285 1749
#> [41,] 40 1339 1789
#> [42,] 41 1375 1808
#> [43,] 42 1421 1848
#> [44,] 43 1469 1863
#> [45,] 44 1517 1891
#> [46,] 45 1567 1918
#> [47,] 46 1619 1943
#> [48,] 47 1672 1966
#> [49,] 48 1729 1985
#> [50,] 49 1790 1997
#> [51,] 50 1864 2000
#>
#> $CIM_p
#> p lower_p upper_p
#> [1,] 0.00 0.0000 0.0680
#> [2,] 0.02 0.0015 0.1050
#> [3,] 0.04 0.0075 0.1355
#> [4,] 0.06 0.0170 0.1640
#> [5,] 0.08 0.0285 0.1905
#> [6,] 0.10 0.0410 0.2165
#> [7,] 0.12 0.0545 0.2415
#> [8,] 0.14 0.0685 0.2655
#> [9,] 0.16 0.0760 0.2895
#> [10,] 0.18 0.0960 0.3125
#> [11,] 0.20 0.1055 0.3305
#> [12,] 0.22 0.1255 0.3575
#> [13,] 0.24 0.1360 0.3800
#> [14,] 0.26 0.1575 0.4015
#> [15,] 0.28 0.1645 0.4230
#> [16,] 0.30 0.1910 0.4440
#> [17,] 0.32 0.2050 0.4650
#> [18,] 0.34 0.2170 0.4855
#> [19,] 0.36 0.2420 0.5000
#> [20,] 0.38 0.2580 0.5140
#> [21,] 0.40 0.2660 0.5345
#> [22,] 0.42 0.2900 0.5555
#> [23,] 0.44 0.3130 0.5765
#> [24,] 0.46 0.3310 0.5980
#> [25,] 0.48 0.3455 0.6195
#> [26,] 0.50 0.3580 0.6420
#> [27,] 0.52 0.3805 0.6545
#> [28,] 0.54 0.4020 0.6690
#> [29,] 0.56 0.4235 0.6870
#> [30,] 0.58 0.4445 0.7100
#> [31,] 0.60 0.4655 0.7340
#> [32,] 0.62 0.4860 0.7420
#> [33,] 0.64 0.5000 0.7580
#> [34,] 0.66 0.5145 0.7830
#> [35,] 0.68 0.5350 0.7950
#> [36,] 0.70 0.5560 0.8090
#> [37,] 0.72 0.5770 0.8355
#> [38,] 0.74 0.5985 0.8425
#> [39,] 0.76 0.6200 0.8640
#> [40,] 0.78 0.6425 0.8745
#> [41,] 0.80 0.6695 0.8945
#> [42,] 0.82 0.6875 0.9040
#> [43,] 0.84 0.7105 0.9240
#> [44,] 0.86 0.7345 0.9315
#> [45,] 0.88 0.7585 0.9455
#> [46,] 0.90 0.7835 0.9590
#> [47,] 0.92 0.8095 0.9715
#> [48,] 0.94 0.8360 0.9830
#> [49,] 0.96 0.8645 0.9925
#> [50,] 0.98 0.8950 0.9985
#> [51,] 1.00 0.9320 1.0000
#>
#> $icp
#> [1] 0.9500198
WhyperCI_M(0,50,2000,0.95)
#> $CI
#> x lower upper
#> [1,] 0 0 136
#>
#> $CI_p
#> p lower upper
#> [1,] 0 0 0.068
WhyperCI_M_lower(0,50,2000,0.95,details = TRUE)
#> $CI
#> X N
#> [1,] 0 0 2000
#>
#> $CIM
#> sample lower upper
#> [1,] 0 0 2000
#> [2,] 1 3 2000
#> [3,] 2 15 2000
#> [4,] 3 34 2000
#> [5,] 4 57 2000
#> [6,] 5 82 2000
#> [7,] 6 109 2000
#> [8,] 7 137 2000
#> [9,] 8 166 2000
#> [10,] 9 197 2000
#> [11,] 10 228 2000
#> [12,] 11 259 2000
#> [13,] 12 292 2000
#> [14,] 13 325 2000
#> [15,] 14 358 2000
#> [16,] 15 393 2000
#> [17,] 16 427 2000
#> [18,] 17 462 2000
#> [19,] 18 497 2000
#> [20,] 19 533 2000
#> [21,] 20 569 2000
#> [22,] 21 606 2000
#> [23,] 22 643 2000
#> [24,] 23 680 2000
#> [25,] 24 718 2000
#> [26,] 25 756 2000
#> [27,] 26 794 2000
#> [28,] 27 833 2000
#> [29,] 28 872 2000
#> [30,] 29 911 2000
#> [31,] 30 951 2000
#> [32,] 31 991 2000
#> [33,] 32 1032 2000
#> [34,] 33 1073 2000
#> [35,] 34 1114 2000
#> [36,] 35 1156 2000
#> [37,] 36 1198 2000
#> [38,] 37 1241 2000
#> [39,] 38 1284 2000
#> [40,] 39 1328 2000
#> [41,] 40 1372 2000
#> [42,] 41 1417 2000
#> [43,] 42 1463 2000
#> [44,] 43 1509 2000
#> [45,] 44 1557 2000
#> [46,] 45 1605 2000
#> [47,] 46 1655 2000
#> [48,] 47 1707 2000
#> [49,] 48 1761 2000
#> [50,] 49 1819 2000
#> [51,] 50 1886 2000
WhyperCI_M_lower(0,50,2000,0.95)
#> $CI
#> X N
#> [1,] 0 0 2000
WhyperCI_M_upper(0,50,2000,0.95,details = TRUE)
#> $CI
#> X
#> [1,] 0 0 114
#>
#> $CIM
#> sample lower upper
#> [1,] 0 0 114
#> [2,] 1 0 181
#> [3,] 2 0 239
#> [4,] 3 0 293
#> [5,] 4 0 345
#> [6,] 5 0 395
#> [7,] 6 0 443
#> [8,] 7 0 491
#> [9,] 8 0 537
#> [10,] 9 0 583
#> [11,] 10 0 628
#> [12,] 11 0 672
#> [13,] 12 0 716
#> [14,] 13 0 759
#> [15,] 14 0 802
#> [16,] 15 0 844
#> [17,] 16 0 886
#> [18,] 17 0 927
#> [19,] 18 0 968
#> [20,] 19 0 1009
#> [21,] 20 0 1049
#> [22,] 21 0 1089
#> [23,] 22 0 1128
#> [24,] 23 0 1167
#> [25,] 24 0 1206
#> [26,] 25 0 1244
#> [27,] 26 0 1282
#> [28,] 27 0 1320
#> [29,] 28 0 1357
#> [30,] 29 0 1394
#> [31,] 30 0 1431
#> [32,] 31 0 1467
#> [33,] 32 0 1503
#> [34,] 33 0 1538
#> [35,] 34 0 1573
#> [36,] 35 0 1607
#> [37,] 36 0 1642
#> [38,] 37 0 1675
#> [39,] 38 0 1708
#> [40,] 39 0 1741
#> [41,] 40 0 1772
#> [42,] 41 0 1803
#> [43,] 42 0 1834
#> [44,] 43 0 1863
#> [45,] 44 0 1891
#> [46,] 45 0 1918
#> [47,] 46 0 1943
#> [48,] 47 0 1966
#> [49,] 48 0 1985
#> [50,] 49 0 1997
#> [51,] 50 0 2000
WhyperCI_M_upper(0,50,2000,0.95)
#> $CI
#> X
#> [1,] 0 0 114
## basic example code