Compute a weighted version of the empirical cumulative distribution function.
ewcdf(x, weights = NULL, normalise=TRUE, adjust=1)
A function, of class "ewcdf"
, inheriting from
"ecdf"
(if normalise=TRUE
) and "stepfun"
.
Numeric vector of observations.
Optional. Numeric vector of non-negative weights for x
.
Defaults to equal weight 1 for each entry of x
.
Logical value indicating whether the weights should be rescaled so that they sum to 1.
Numeric value. Adjustment factor.
The weights will be multiplied by adjust
.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner r.turner@auckland.ac.nz and Ege Rubak rubak@math.aau.dk.
This is a modification of the standard function ecdf
allowing the observations x
to have weights.
The weighted e.c.d.f. (empirical cumulative distribution function)
Fn
is defined so that, for any real number y
, the value of
Fn(y)
is equal to the total weight of all entries of
x
that are less than or equal to y
. That is
Fn(y) = sum(weights[x <= y])
.
Thus Fn
is a step function which jumps at the
values of x
. The height of the jump at a point y
is the total weight of all entries in x
number of tied observations at that value. Missing values are
ignored.
If weights
is omitted, the default is equivalent to
ecdf(x)
except for the class membership.
The result of ewcdf
is a function, of class "ewcdf"
,
inheriting from the classes "ecdf"
(only if normalise=TRUE
)
and "stepfun"
.
The class ewcdf
has methods for
print
,
quantile
and mean
.
The inherited classes ecdf
and stepfun
have methods for plot
and summary
.
ecdf
.
quantile.ewcdf
, mean.ewcdf
.
Integrals with respect to the weighted cumulative distribution function
can be computed using stieltjes
.
x <- rnorm(100)
w <- runif(100)
plot(e <- ewcdf(x,w))
e
Run the code above in your browser using DataLab