删除不同组的异常值

问题描述 投票:-1回答:1

我在这里很陌生,所以请宽容我:-)

我正在寻找一种解决方案,以删除在同一列中相差某个值的离群值:

body_mass age 1 19 11 2 20 10 3 26 8 4 21 6 5 18 12 6 18 7 7 30 11 8 17 8 9 17 10 10 18 8

“每个年龄都有不同的离群值-因此,年龄4的正常值(body_mass为4岁)

boxplot(body_mass~age, data = df, subset=age %in% c(0:22))$out
outliers <- boxplot(body_mass~age, data = df, subset=age %in% c(0:22))$out

df[which(df$body_mass %in% outliers),]
df <- df[-which(df$body_mass %in% outliers),]

但是以这种方式尝试,会删除所有年龄段的所有值,即使它们只是一个年龄段的离群值

r outliers
1个回答
0
投票

这实际上取决于您如何定义“异常值”。但是如果你愿意接受离群值是四分位数范围的正负1.5倍,那么您可以使用以下方法按年龄段去除体重中的离群值。

© www.soinside.com 2019 - 2024. All rights reserved.