quantile
位于 stats
包(package)。 说明
通用函数 quantile
生成与给定概率相对应的样本分位数。最小的观测值对应于概率 0,最大的观测值对应于概率 1。
用法
quantile(x, ...)
## Default S3 method:
quantile(x, probs = seq(0, 1, 0.25), na.rm = FALSE,
names = TRUE, type = 7, digits = 7, ...)
参数
x |
想要其样本分位数的数值向量,或已定义方法的类的对象(另请参阅‘details’)。数值向量中不允许使用 |
probs |
概率的数值向量,其值为2e-14’超出该范围的将被接受并移动到附近的端点。) 。 (值高达‘ |
na.rm |
逻辑性;如果为 true,则在计算分位数之前,将从 |
names |
逻辑性;如果为 true,则结果具有 |
type |
1 到 9 之间的整数,选择要使用的九个分位数算法之一。 |
digits |
仅当 |
... |
传入或传出其他方法的进一步参数。 |
细节
返回长度为length(probs)
的向量;如果 names = TRUE
,则它具有 names
属性。
默认方法与分类对象的工作方式非常类似数字向量,sort
以及(类型 1 和 3 不需要)元素加法和数字乘法可以正常工作。请注意,由于它位于命名空间中,因此将使用 base
中的 sort
副本,而不是该名称的某些 S4 泛型。另请注意,这不是对 ‘correctly’ 的检查,因此例如quantile
可以应用于复向量,这些向量(除了关系)将按其实部排序。
有一个用于日期时间类的方法(请参阅"POSIXt"
)。类型 1 和 3 可用于类 "Date"
和有序因子。
类型
quantile
根据 x
中提供的元素以 probs
中的概率返回基础分布分位数的估计值。采用 Hyndman 和 Fan (1996) 中讨论的九种分位数算法之一,由 type
选择。
所有样本分位数被定义为连续顺序统计的加权平均值。 类型的样本分位数定义如下:
其中 、 、 是 的阶次统计量, 是样本大小, 的值是 和 的函数。 是由样本分位数类型确定的常量。
不连续样本分位数类型 1、2 和 3
对于类型 1、2 和 3, 是 的不连续函数,当 和 时为 ,当 时为 。
- 类型1
-
经验分布函数的反函数。如果 则为 ,否则为 1。
- 2型
-
与类型 1 类似,但在不连续处进行平均。 如果 ,否则为 1(SAS 默认值,请参阅 Wicklin(2017))。
- 3型
-
最近偶数阶统计量(SAS 默认值到 2010 年左右)。如果 和 为偶数,则 ,否则为1。
连续样本分位数类型 4 至 9
对于类型 4 到 9, 是 的连续函数,下面给出 和 。可以通过点 之间的线性插值等效地获得样本分位数,其中 是 阶统计量。下面给出 的具体表达式。
- 4型
-
。 。即经验 cdf 的线性插值。
- 5型
-
。 。这是一个分段线性函数,其中结是经验 cdf 的步骤中间的值。这在水文学家中很流行。
- 6型
-
。 。因此 。 Minitab 和 SPSS 使用此函数。
- 7型
-
。 。在这种情况下, 。这个是S用的。
- 8型
-
x
的分布如何,所得分位数估计值大约为 median-unbiased 。 。 。然后是 。无论 - 9型
-
x
呈正态分布,则所得分位数估计值对于预期的顺序统计数据近似无偏。 。 。如果
Hyndman 和 Fan (1996) 中提供了更多详细信息,他们推荐了类型 8。默认方法是类型 7,由 S 和 by 使用R< 2.0.0。 Makkonen 主张使用类型 6,这也是 Weibull 在 1939 年提出的。维基百科页面包含有关软件中这 9 种类型的可用性的更多信息。
例子
quantile(x <- rnorm(1001)) # Extremes & Quartiles by default
quantile(x, probs = c(0.1, 0.5, 1, 2, 5, 10, 50, NA)/100)
### Compare different types
quantAll <- function(x, prob, ...)
t(vapply(1:9, function(typ) quantile(x, probs = prob, type = typ, ...),
quantile(x, prob, type=1, ...)))
p <- c(0.1, 0.5, 1, 2, 5, 10, 50)/100
signif(quantAll(x, p), 4)
## 0% and 100% are equal to min(), max() for all types:
stopifnot(t(quantAll(x, prob=0:1)) == range(x))
## for complex numbers:
z <- complex(real = x, imaginary = -10*x)
signif(quantAll(z, p), 4)
作者
of the version used in R >= 2.0.0, Ivan Frohne and Rob J Hyndman.
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Hyndman, R. J. and Fan, Y. (1996) Sample quantiles in statistical packages, American Statistician 50, 361-365. doi:10.2307/2684934.
Wicklin, R. (2017) Sample quantiles: A comparison of 9 definitions; SAS Blog. https://blogs.sas.com/content/iml/2017/05/24/definitions-sample-quantiles.html
Wikipedia: https://en.wikipedia.org/wiki/Quantile#Estimating_quantiles_from_a_sample
也可以看看
ecdf
为经验分布,其中 quantile
是其逆分布; boxplot.stats
和 fivenum
用于计算其他版本的四分位数等。
相关用法
- R quade.test 四方测试
- R qqnorm 分位数-分位数图
- R stlmethods STL 对象的方法
- R medpolish 矩阵的中值波兰(稳健双向分解)
- R naprint 调整缺失值
- R summary.nls 总结非线性最小二乘模型拟合
- R summary.manova 多元方差分析的汇总方法
- R formula 模型公式
- R nls.control 控制 nls 中的迭代
- R aggregate 计算数据子集的汇总统计
- R deriv 简单表达式的符号和算法导数
- R kruskal.test Kruskal-Wallis 秩和检验
- R decompose 移动平均线的经典季节性分解
- R plot.stepfun 绘制阶跃函数
- R alias 查找模型中的别名(依赖项)
- R eff.aovlist 多层方差分析的计算效率
- R pairwise.t.test 成对 t 检验
- R loglin 拟合对数线性模型
- R predict.smooth.spline 通过平滑样条拟合进行预测
- R bartlett.test 方差齐性的 Bartlett 检验
- R influence.measures 回归删除诊断
- R loess.control 设置黄土参数
- R Normal 正态分布
- R summary.lm 总结线性模型拟合
- R Uniform 均匀分布
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Sample Quantiles。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。