Compute a weighted version of the empirical cumulative distribution function.
ewcdf(x, weights = NULL, normalise=TRUE, adjust=1)
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
.
A function, of class "ewcdf"
, inheriting from
"ecdf"
(if normalise=TRUE
) and "stepfun"
.
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"
(if normalise=TRUE
)
and "stepfun"
.
The class ewcdf
has methods for print
and quantile
.
The inherited classes ecdf
and stepfun
have methods for plot
and summary
.
ecdf
.
# NOT RUN {
x <- rnorm(100)
w <- runif(100)
plot(e <- ewcdf(x,w))
e
# }
Run the code above in your browser using DataLab