【问题标题】:R - Remove all outliers at onceR - 一次删除所有异常值
【发布时间】:2018-05-14 06:36:02
【问题描述】:

我在 R 中导入了一个数据集,我试图在其中删除异常值。到目前为止,我已经用箱线图识别了所有异常值并将它们保存在一个变量中。

outlier_values_2 <- boxplot.stats(myfileswoNA$smart_1_raw)$out  # outlier values.
boxplot(myfileswoNA$smart_1_raw, main="Outlier", boxwex=0.1)

hist(myfileswoNA$smart_1_raw)
summary(myfileswoNA$smart_1_raw)

现在我正在尝试删除带有已识别异常值的行。我可以用一个特定的值来做到这一点:

example <- myfileswoNA[myfileswoNA$smart_1_raw!=4294967295,]

但我想做的是一次删除所有异常值,这些异常值存储在变量outlier_values_2 例如这种方式不起作用:

example <- myfileswoNA[myfileswoNA$smart_1_raw!=4294967295,]

谁能帮我解决这个问题?或者有人有想法吗?

【问题讨论】:

  • 如果所有异常值都存储在outlier_values_2中,请尝试myfileswoNA[!myfileswoNA$smart_1_raw %in% outlier_values_2,]。
  • 也许是myfileswoNA &lt;- myfileswoNA[smart_1_raw&lt;max(outlier_values_2 ) &amp; smart_1_raw&gt;min(outlier_values_2 ),]。
  • 感谢@LAP,您的代码运行良好!

标签: r dataframe boxplot outliers


【解决方案1】:

@LAP 的回答帮助我解决了我的问题。 这是他的建议:

如果所有异常值都存储在outlier_values_2中, 尝试 myfileswoNA[!myfileswoNA$smart_1_raw %in% outlier_values_2,]

【讨论】:

    猜你喜欢
    • 2017-09-25
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 2017-12-14
    • 2019-04-11
    相关资源
    最近更新 更多