# ExactCIone

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).

## Installation

You can install the development version of ExactCIone like so:

``````library("devtools")
install_github("befrthunder/ExactCIone",dependencies =TRUE, build_vignettes = TRUE)``````

## Example

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