ds_eqp_k: Dependency detection between level k (k > 1) categorical...

Description Usage Arguments Value References See Also Examples

View source: R/RcppExports.R

Description

Dependency detection between level k (k > 1) categorical variable and continuous variable via dynamic slicing with O(n^{1/2})-resolution. The basic idea is almost the same as ds_k. The only different is that ds_eqp_k groups samples into approximate O(n^{1/2}) groups which contain approximate O(n^{1/2}) samples and performs dynamic slicing on their boundaries. This much faster version could reduce computation time substantially without too much power loss. Based on the strategy of ds_eqp_k, we recommend to apply it in large sample size problem and use ds_k for ordinary problem. For more details please refer to Jiang, Ye & Liu (2015). Results contains value of dynamic slicing statistic and slicing strategy. It could be applied for non-parametric K-sample hypothesis testing.

Usage

1
  ds_eqp_k(x, xdim, lambda, slice = FALSE)

Arguments

x

Vector: observations of categorical variable, 0,1,…,k-1 for level k categorical variable, should be ranked according to values of continuous variable in advanced, either ascending or descending.

xdim

Level of x, equals k.

lambda

Penalty for introducing an additional slice, which is used to avoid making too many slices. It corresponds to the type I error under the scenario that the two variables are independent. lambda should be greater than 0.

slice

Indicator for reporting slicing strategy or not.

Value

dsval

Value of dynamic slicing statistic. It is nonnegative. If it equals zero, the categorical variable and continuous variable will be treated as independent of each other, otherwise they will be treated as dependent.

slices

Slicing strategy that maximize dynamic slicing statistic based on currently ranked vector x. It will be reported if slice is true. Each row stands for a slice. Each column except the last one stands for the number of observations take each value in each slice. The last column is the number of observations in each slice i.e., the sum of the first column to the kth column.

References

Jiang, B., Ye, C. and Liu, J.S. Non-parametric K-sample tests via dynamic slicing. Journal of the American Statistical Association, 110(510): 642-653, 2015.

See Also

ds_k.

Examples

1
2
3
4
5
6
7
8
9
n <- 100
mu <- 0.5
y <- c(rnorm(n, -mu, 1), rnorm(n, mu, 1))
x <- c(rep("1", n), rep("2", n))
x <- relabel(x)
x <- x[order(y)]
xdim <- max(x) + 1
lambda <- 1.0
dsres <- ds_eqp_k(x, xdim, lambda, slice = TRUE)	

dslice documentation built on May 29, 2017, 8:03 p.m.