This function tests for differences between cumulative distribution functions (CDFs) generated by probability surveys. The function returns a variety of test statistics along with their degrees of freedom and p values. The inferential procedures divide the CDFs into a discrete set of intervals (classes) and then utilize procedures that have been developed for analysis of categorical data from probability surveys. The function calculates the Wald, Rao-Scott first order corrected (mean eigenvalue corrected), and Rao-Scott second order corrected (Satterthwaite corrected) test statistics. Both standard versions of the three statistics, which are distributed as Chi-squared random variables, and alternate version of the statistics, which are distributed as F random variables, are available. The default test statistic is the F distribution version of the Wald statistic. The user supplies the set of upper bounds that define the intervals (classes) into which the CDFs are divided (binned). The minimum number of classes is three. The Horvitz-Thompson ratio estimator, i.e., the ratio of two Horvitz- Thompson estimators, is used to calculate estimates of the class proportions for the CDFs. Variance estimates for the test statistics are calculated using either the local mean variance estimator or the simple random sampling (SRS) variance estimator. The choice of variance estimator is subject to user control. The SRS variance estimator uses the independent random sample approximation to calculate joint inclusion probabilities. The function can accommodate a stratified sample. For a stratified sample, separate class proportion estimates and associated covariance estimates are calculated for each stratum, which are used to produce estimates for all strata combined. Strata that contain a single value are removed. For a stratified sample, when either the size of the resource or the sum of the size-weights of the resource is provided for each stratum, those values are used as stratum weights for calculating the estimates for all strata combined. For a stratified sample when neither the size of the resource nor the sum of the size-weights of the resource is provided for each stratum, estimated values are used as stratum weights for calculating the estimates for all strata combined. The function can accommodate single-stage and two-stage samples for both stratified and unstratified sampling designs. Finite population and continuous population correction factors can be utilized in variance estimation. The function checks for compatability of input values and removes missing values.

```
cdf.test(bounds, z_1, wgt_1, x_1 = NULL, y_1 = NULL, z_2, wgt_2,
x_2 = NULL, y_2 = NULL, stratum_1 = NULL, stratum_2 = NULL,
cluster_1 = NULL, cluster_2 = NULL, wgt1_1 = NULL, x1_1 = NULL,
y1_1 = NULL, wgt1_2 = NULL, x1_2 = NULL, y1_2 = NULL,
popsize_1 = NULL, popsize_2 = NULL, popcorrect_1 = FALSE,
pcfsize_1 = NULL, N.cluster_1 = NULL, stage1size_1 = NULL,
support_1 = NULL, popcorrect_2 = FALSE, pcfsize_2 = NULL,
N.cluster_2 = NULL, stage1size_2 = NULL, support_2 = NULL,
sizeweight_1 = FALSE, swgt_1 = NULL, swgt1_1 = NULL,
sizeweight_2 = FALSE, swgt_2 = NULL, swgt1_2 = NULL,
vartype_1 = "Local", vartype_2 = "Local", check.ind = TRUE,
warn.ind = NULL, warn.df = NULL, warn.vec = NULL)
```

bounds

Vector of upper bounds that define classes for the CDFs, which must contain at least two values.

z_1

Vector of response value for each sample one site.

wgt_1

Vector of final adjusted weight (inverse of the sample inclusion probability) for each sample one site, which is either the weight for a single- stage sample or the stage two weight for a two-stage sample.

x_1

Vector of x-coordinate for location for each sample one site, which is either the x-coordinate for a single-stage sample or the stage two x-coordinate for a two-stage sample. The default is NULL.

y_1

Vector of y-coordinate for location for each sample one site, which is either the y-coordinate for a single-stage sample or the stage two y-coordinate for a two-stage sample. The default is NULL.

z_2

Vector of response value for each sample two site.

wgt_2

Vector of final adjusted weight (inverse of the sample inclusion probability) for each sample two site, which is either the weight for a single- stage sample or the stage two weight for a two-stage sample.

x_2

Vector of x-coordinate for location for each sample two site, which is either the x-coordinate for a single-stage sample or the stage two x-coordinate for a two-stage sample. The default is NULL.

y_2

Vector of y-coordinate for location for each sample two site, which is either the y-coordinate for a single-stage sample or the stage two y-coordinate for a two-stage sample. The default is NULL.

stratum_1

Vector of the stratum for each sample one site. The default is NULL.

stratum_2

Vector of the stratum for each sample two site. The default is NULL.

cluster_1

Vector of the stage one sampling unit (primary sampling unit or cluster) code for each sample one site. The default is NULL.

cluster_2

Vector of the stage one sampling unit (primary sampling unit or cluster) code for each sample two site. The default is NULL.

wgt1_1

Vector of the final adjusted stage one weight for each sample one site. The default is NULL.

x1_1

Vector of the stage one x-coordinate for location for each sample one site. The default is NULL.

y1_1

Vector of the stage one y-coordinate for location for each sample one site. The default is NULL.

wgt1_2

Vector of the final adjusted stage one weight for each sample two site. The default is NULL.

x1_2

Vector of the stage one x-coordinate for location for each sample two site. The default is NULL.

y1_2

Vector of the stage one y-coordinate for location for each sample two site. The default is NULL.

popsize_1

The known size of the sample one resource - the total number of sampling units of a finite resource or the measure of an extensive resource, which is required for calculation of finite and continuous population correction factors for a single-stage sample. For a stratified sample, this variable also is used to calculate strata weights. For a stratified sample, this variable must be a vector containing a value for each stratum and must have the names attribute set to identify the stratum codes. The default is NULL.

popsize_2

The known size of the sample two resource - the total number of sampling units of a finite resource or the measure of an extensive resource, which is required for calculation of finite and continuous population correction factors for a single-stage sample. For a stratified sample, this variable also is used to calculate strata weights. For a stratified sample, this variable must be a vector containing a value for each stratum and must have the names attribute set to identify the stratum codes. The default is NULL.

popcorrect_1

Logical value that indicates whether finite or continuous population correction factors should be employed during variance estimation for sample one, where TRUE = use the correction factor and FALSE = do not use the correction factor. The default is FALSE. To employ the correction factor for a single-stage sample, values must be supplied for arguments pcfsize_1 and support_1. To employ the correction factor for a two-stage sample, values must be supplied for arguments N.cluster_1, stage1size_1, and support_1.

pcfsize_1

Size of the sample one resource, which is required for calculation of finite and continuous population correction factors for a single-stage sample. For a stratified sample this argument must be a vector containing a value for each stratum and must have the names attribute set to identify the stratum codes. The default is NULL.

N.cluster_1

The number of stage one sampling units in the sample one resource, which is required for calculation of finite and continuous population correction factors for a two-stage sample. For a stratified sample this variable must be a vector containing a value for each stratum and must have the names attribute set to identify the stratum codes. The default is NULL.

stage1size_1

Size of the stage one sampling units of a two-stage sample for sample one, which is required for calculation of finite and continuous population correction factors for a two-stage sample and must have the names attribute set to identify the stage one sampling unit codes. For a stratified sample, the names attribute must be set to identify both stratum codes and stage one sampling unit codes using a convention where the two codes are separated by the & symbol, e.g., "Stratum 1&Cluster 1". The default is NULL.

support_1

Vector of the support value for each sample one site - the value one (1) for a site from a finite resource or the measure of the sampling unit associated with a site from an extensive resource, which is required for calculation of finite and continuous population correction factors. The default is NULL.

popcorrect_2

Logical value that indicates whether finite or continuous population correction factors should be employed during variance estimation for sample two, where TRUE = use the correction factor and FALSE = do not use the correction factor. The default is FALSE. To employ the correction factor for a single-stage sample, values must be supplied for arguments pcfsize_2 and support_2. To employ the correction factor for a two-stage sample, values must be supplied for arguments N.cluster_2, stage1size_2, and support_2.

pcfsize_2

Size of the sample two resource, which is required for calculation of finite and continuous population correction factors for a single-stage sample. For a stratified sample this argument must be a vector containing a value for each stratum and must have the names attribute set to identify the stratum codes. The default is NULL.

N.cluster_2

The number of stage one sampling units in the sample two resource, which is required for calculation of finite and continuous population correction factors for a two-stage sample. For a stratified sample this variable must be a vector containing a value for each stratum and must have the names attribute set to identify the stratum codes. The default is NULL.

stage1size_2

Vector of the size of the stage one sampling units of a two-stage sample for sample two, which is required for calculation of finite and continuous population correction factors for a two-stage sample and must have the names attribute set to identify the stage one sampling unit codes. For a stratified sample, the names attribute must be set to identify both stratum codes and stage one sampling unit codes using a convention where the two codes are separated by the & symbol, e.g., "Stratum 1&Cluster 1". The default is NULL.

support_2

Vector of the support value for each sample two site - the value one (1) for a site from a finite resource or the measure of the sampling unit associated with a site from an extensive resource, which is required for calculation of finite and continuous population correction factors. The default is NULL.

sizeweight_1

Logical value that indicates whether size-weights should be used in the analysis for sample one, where TRUE = use the size-weights and FALSE = do not use the size-weights. The default is FALSE.

swgt_1

Vector of the size-weight for each sample one site, which is the stage two size-weight for a two-stage sample. The default is NULL.

swgt1_1

Vector of the stage one size-weight for each sample one site. The default is NULL.

sizeweight_2

Logical value that indicates whether size-weights should be used in the analysis for sample two, where TRUE = use the size-weights and FALSE = do not use the size-weights. The default is FALSE.

swgt_2

Vector of the size-weight for each sample two site, which is the stage two size-weight for a two-stage sample. The default is NULL.

swgt1_2

Vector of the stage one size-weight for each sample two site. The default is NULL.

vartype_1

The choice of variance estimator for sample one, where "Local" = local mean estimator and "SRS" = SRS estimator. The default is "Local".

vartype_2

The choice of variance estimator for sample two, where "Local" = local mean estimator and "SRS" = SRS estimator. The default is "Local".

check.ind

Logical value that indicates whether compatability checking of the input values is conducted, where TRUE = conduct compatibility checking and FALSE = do not conduct compatibility checking. The default is TRUE.

warn.ind

Logical value that indicates whether warning messages were generated, where TRUE = warning messages were generated and FALSE = warning messages were not generated. The default is NULL.

warn.df

A data frame for storing warning messages. The default is NULL.

warn.vec

Vector that contains names of the population type, the subpopulation, and an indicator. The default is NULL.

An object in data frame format containing the test statistic, degrees of freedom (two values labeled Degrees of Freedom_1 and Degrees of Freedom_2), and p value for the Wald, mean eigenvalue, and Satterthwaite test procedures, which includes both Chi-squared distribution and F distribution versions of the procedures. For the Chi-squared versions of the test procedures, Degrees of Freedom_1 contains the relevant value and Degrees of Freedom_2 is set to missing (NA). For the F-based versions of the test procedures Degrees of Freedom_1 contains the numerator degrees of freedom and Degrees of Freedom_2 contains the denominator degrees of freedom.

`input.check`

check input values for errors, consistency, and compatibility with analytical functions

`wnas`

remove missing values

`vecprint`

takes an input vector and outputs a character string with line breaks inserted

`cdf.test.prop`

calculates an estimate of the population proportions in the set of classes

`cdf.test.size.prop`

calculates a size-weighted estimate of the population proportions in the set of classes

`cdfvar.test`

calculates estimates of the variance-covariance matrix of the population proportions in the set of classes

# NOT RUN { n <- 100 resp <- rnorm(n, 10, 1) wgt <- runif(n, 10, 100) sample1 <- list(z=resp, wgt=wgt) sample2 <- list(z=resp+0.5, wgt=wgt) bounds <- sort(c(sample1$z, sample2$z))[floor(seq((2*n)/3, (2*n), length=3))] cdf.test(bounds=bounds, z_1=sample1$z, wgt_1=sample1$wgt, z_2=sample2$z, wgt_2=sample2$wgt, vartype_1="SRS", vartype_2="SRS") xcoord <- runif(n) ycoord <- runif(n) sample1 <- list(z=resp, wgt=wgt, x=xcoord, y=ycoord) sample2 <- list(z=1.05*resp, wgt=wgt, x=xcoord, y=ycoord) cdf.test(bounds=bounds, z_1=sample1$z, wgt_1=sample1$wgt, x_1=sample1$x, y_1=sample1$y, z_2=sample2$z, wgt_2=sample2$wgt, x_2=sample2$x, y_2=sample2$y) # }