r - 如何用 R 中的第 5 个和第 95 个百分位值替换异常值

标签 r dataset outliers quantile

我想分别用这些百分位值替换相对较大的 R 数据集中的所有值,这些值的值高于第 95 个百分位且低于第 5 个百分位。我的目标是避免简单地从数据中完全裁剪掉这些异常值。

任何建议将不胜感激,我在其他地方找不到任何有关如何执行此操作的信息。

最佳答案

这样就可以了。

fun <- function(x){
    quantiles <- quantile( x, c(.05, .95 ) )
    x[ x < quantiles[1] ] <- quantiles[1]
    x[ x > quantiles[2] ] <- quantiles[2]
    x
}
fun( yourdata )

关于r - 如何用 R 中的第 5 个和第 95 个百分位值替换异常值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13339685/

相关文章:

r - 使用 gmm 包的矩阵乘法错误

string - 在 R 中以 "V, W, X, Y, and Z"样式输出列表的简单方法

dataset - 是否存在符号形式的音乐 "standard"数据集?

python - 针对在单个列中发现的离群值删除数据集的整行

python-2.7 - 根据一列值删除行

python - 从数据框中随机选择数据但不重复

R - 带有 ggplot2 : change values of precipitaion to fit second axis 的气候仪

python - 不准确的离群值与箱线图中的离群值不匹配

azure - 在数据工厂中筛选多列上的行

python - 什么时候使用类别而不是对象?