wtd.pctiles | R Documentation |
Get a quick look at a weighted distribution by seeing the 100 values that are the weighted percentiles 1-100
wtd.pctiles(
x,
wts = NULL,
na.rm = TRUE,
type = "i/n",
probs = (1:100)/100,
digits = 3
)
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 |
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 |
Provides weighted percentiles using Hmisc::wtd.Ecdf()
Returns a data.frame, one row per probs, so 100 by default (1%ile through 100%ile), one col per col of x
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
pctiles()
pctiles.exact()
pctiles.a.over.b()
wtd.pctiles.exact()
wtd.pctiles()
wtd.pctiles.fast()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.