【问题标题】:How to get indices of outliers in a dataframe boxplot?如何在数据框箱线图中获取异常值的索引?
【发布时间】:2017-06-06 14:17:26
【问题描述】:

我有一个数据框,我想获取每列异常值索引。

这是我的数据框的一部分;

mediamarkt[,48]

[1]  7126  4012  3711  3237  3432  2671  2861  7065  3158  4023  4770  3861
[13]  4108  7408  9071  3596  3889  4093  4446  6059  8345 10291  5546  5129
[25]  4683  4670  5694  8619 11047  5743  5775  5216  5283  4854  7871  9944
[37]  3797  3821  3834  3999  4577  8898 11396  4508  5459  3668  3885  4021
[49]  7491  8831  3513  3606  3332  3189  3656  6859  9167  3306  3305  3379
[61]  3507  3912  6562  8245  3420  3445  3530  3404  3847  7187  9128  3623
[73]  3581  3401  2784  3024  6342  7835  2766  2718  2578  2591  2737  5479
[85]  7064  2528  2550  2287  1893  1846

首先,我尝试使用此代码获取异常值的值:

boxplot(mediamarkt[,48])$out 我得到 2 个异常值;

[1] 11047 11396

到目前为止一切正常,但是当我需要使用以下代码获取异常值的索引时:

which(mediamarkt[,48] %in% boxplot_mediamarkt$out)

[1] 5 18 29 43 59

我得到超过 2 个异常值,它与这些结果不匹配

我的代码有什么问题

谁能帮我解决我的问题?

【问题讨论】:

  • 您是否检查过数据框列中的所有值都是唯一的?如果不是,那么很可能有 5 个指数提供 2 个异常值。
  • 你在测试 boxplot_mediamarkt$out 而不是 boxplot(mediamarkt[,48])$out 它们真的一样吗?
  • boxplot.stats 给出异常值(或检查哪些值是 +/- 2xSD)。
  • 谢谢@G5W。您的评论很有帮助

标签: r boxplot outliers


【解决方案1】:

@G5W 提出了一个尚未解决的问题。此代码显示如何轻松输入数据,并建议您的 boxplot_mediamarkt 不是 boxplotboxplot.stats 从您的数据中的输出。

 dat <- scan()
1:   7126  4012  3711  3237  3432  2671  2861  7065  3158  4023  4770  3861
13:  4108  7408  9071  3596  3889  4093  4446  6059  8345 10291  5546  5129
25:  4683  4670  5694  8619 11047  5743  5775  5216  5283  4854  7871  9944
37:  3797  3821  3834  3999  4577  8898 11396  4508  5459  3668  3885  4021
49:  7491  8831  3513  3606  3332  3189  3656  6859  9167  3306  3305  3379
61:  3507  3912  6562  8245  3420  3445  3530  3404  3847  7187  9128  3623
73:  3581  3401  2784  3024  6342  7835  2766  2718  2578  2591  2737  5479
85:  7064  2528  2550  2287  1893  1846
91: 
Read 90 items
> boxplot(dat)$out
[1] 11047 11396
> which(dat %in% boxplot(dat)$out)
[1] 29 43

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-04
    • 2023-03-12
    • 2018-07-29
    • 2020-08-21
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多