【发布时间】: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 <- myfileswoNA[smart_1_raw<max(outlier_values_2 ) & smart_1_raw>min(outlier_values_2 ),]。 -
感谢@LAP,您的代码运行良好!
标签: r dataframe boxplot outliers