【发布时间】:2021-01-06 10:07:45
【问题描述】:
我正在尝试使用 iqr 从我的数据集中删除异常值。我得到了数据框中每一列的 iqr 值,现在我想从数据框中排除所有异常值。 我的代码是:
> q1 <- colwise(quantile)(completeData, probs = c(.25))
> q2 <- colwise(quantile)(completeData, probs = c(.75))
> IQR <- q2 - q1
> IQR
MinTemp MaxTemp Rainfall Evaporation Sunshine WindGustSpeed WindSpeed9am WindSpeed3pm Humidity9am Humidity3pm Pressure9am Pressure3pm Cloud9am Cloud3pm Temp9am Temp3pm RainToday Date Location
1 9.2 10.3 2.2 4.4 7.1 19 8 11 26 31 9.6 9.7 5 4 9.3 9.9 1 1537 25
WindGustDir WindDir3pm RainTomorrow
1 9 8 1
现在我有数据框中每个变量的 iqr 值,我想通过这种方式排除异常值:
completeData <- subset(completeData, completeDat > (q1 - 1.5*IQR) & completeData < (q2+1.5*IQR))
最后一行只是为了让你理解这个想法。最后一行的代码不起作用,我只是想要一些可以帮助我从数据框的每一列中删除所有异常值的东西。
提前感谢谁会帮助我。
【问题讨论】: