wtd.pctiles: Show the rounded values at 100 weighted percentiles

View source: R/wtd.pctiles.R

wtd.pctilesR Documentation

Show the rounded values at 100 weighted percentiles

Description

Get a quick look at a weighted distribution by seeing the 100 values that are the weighted percentiles 1-100

Usage

wtd.pctiles(
  x,
  wts = NULL,
  na.rm = TRUE,
  type = "i/n",
  probs = (1:100)/100,
  digits = 3
)

Arguments

x

Required, numeric vector (or data.frame) of values whose distribution(s) you want to look at.

wts

NULL by default, or vector of numbers (same length as x vector or as a column of x) to use as weights in Hmisc::wtd.quantile

na.rm

Logical optional TRUE by default, in which case NA values are removed first.

type

'i/n' is default. See help for wtd.quantile in Hmisc::wtd.Ecdf()

probs

fractions 0-1, optional, (1:100)/100 by default, define quantiles to use

digits

Number, 3 by default, specifying how many decimal places to round to in results

Details

Provides weighted percentiles using Hmisc::wtd.Ecdf()

Value

Returns a data.frame, one row per probs, so 100 by default (1%ile through 100%ile), one col per col of x

NOTE: THIS ONLY SHOWS PERCENTILES AND MEAN FOR THE VALID (NOT NA) VALUES !

Defining these types as type=1 and type="i/n" will create simple discontinuous quantiles, without interpolation where there are jumps in the values analyzed. *** WARNING: Unless set type=1, the default type=7 in which case stats::quantile() FUNCTION INTERPOLATES, WHICH ISN'T OBVIOUS IN EVERY DATASET! use type=1 to avoid interpolation. and pctiles() rounded results so interpolation would be even less apparent.
The quantile function will NOT interpolate between values if type=1:
stats::quantile(1:12, probs=(1:10)/10, type=1)
10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
2 3 4 5 6 8 9 10 11 12
###########################
**** IMPORTANT ***
###########################
*** WARNING: The Hmisc::wtd.quantile function DOES interpolate between values, even if type='i/n'
There does not seem to be a way to fix that for the Hmisc::wtd.quantile() function. For example,
Hmisc::wtd.quantile(1:12, probs=(1:10)/10, type='i/n', weights=rep(1,12))
10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
1.2 2.4 3.6 4.8 6.0 7.2 8.4 9.6 10.8 12.0

See Also

pctiles() pctiles.exact() pctiles.a.over.b() wtd.pctiles.exact() wtd.pctiles() wtd.pctiles.fast()


ejanalysis/analyze.stuff documentation built on April 2, 2024, 10:10 a.m.