说明:
计算 SparkDataFrame 的数值列的近似分位数。该算法的结果具有以下确定性界限:如果 SparkDataFrame 有 N 个元素,并且如果我们以概率 p 请求分位数直到错误 err,那么该算法将从 SparkDataFrame 返回一个样本 x,因此 *exact* rank x 接近 (p * N)。更准确地说, floor((p - err) * N) <= rank(x) <= ceil((p + err) * N)。此方法实现了Greenwald-Khanna 算法的变体(具有一些速度优化)。该算法首次出现在 Greenwald 和 Khanna 的 [[https://doi.org/10.1145/375663.375670 分位数摘要的空间高效在线计算]] 中。请注意,在计算之前,数值列中的 NA 值将被忽略。对于仅包含 NA 值的列,将返回一个空列表。
用法:
## S4 method for signature 'SparkDataFrame,character,numeric,numeric'
approxQuantile(x, cols, probabilities, relativeError)
参数:
x
一个 SparkDataFrame。cols
单个列名,或多个列的名称列表。probabilities
分位数概率列表。每个数字必须属于 [0, 1]。例如 0 是最小值,0.5 是中值,1 是最大值。relativeError
要达到的相对目标精度 (>= 0)。如果设置为零,则计算精确的分位数,这可能非常昂贵。请注意,接受大于 1 的值,但给出与 1 相同的结果。
返回:
给定概率的近似分位数。如果输入是单个列名,则输出是该列中的近似分位数列表;如果输入是多个列名,则输出应该是一个列表,其中的每个元素都是一个数值列表,表示对应列中的近似分位数。
注意:
自 2.0.0 起的大约分位数
例子:
df <- read.json("/path/to/file.json")
quantiles <- approxQuantile(df, "key", c(0.5, 0.8), 0.0)
相关用法
- R SparkR alias用法及代码示例
- R SparkR arrange用法及代码示例
- R SparkR avg用法及代码示例
- R SparkR as.data.frame用法及代码示例
- R SparkR awaitTermination用法及代码示例
- R SparkR attach用法及代码示例
- R matrix转list用法及代码示例
- R SparkR freqItems用法及代码示例
- R SparkR intersectAll用法及代码示例
- R SparkR spark.decisionTree用法及代码示例
- R SparkR sparkR.callJMethod用法及代码示例
- R SparkR sample用法及代码示例
- R SparkR glm用法及代码示例
- R SparkR randomSplit用法及代码示例
- R SparkR describe用法及代码示例
- R SparkR withColumn用法及代码示例
- R SparkR read.stream用法及代码示例
- R SparkR join用法及代码示例
- R SparkR rbind用法及代码示例
- R SparkR windowPartitionBy用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 Calculates the approximate quantiles of numerical columns of a SparkDataFrame。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。