删除异常值问题
Removing Outliers Issue
我尝试 运行 此代码删除异常值,但仍然存在两个异常值。
newData <- read.csv(file = 'https://data.edmonton.ca/resource/f7ms-98xd.csv', header = T)
boxplot(newData$bachelor_s_degree)$out
no_outliers <- boxplot(newData$bachelor_s_degree)$out
print(no_outliers)
newData[which(newData$bachelor_s_degree %in% no_outliers),]
newData <- newData[-which(newData$bachelor_s_degree %in% no_outliers),]
boxplot(newData$bachelor_s_degree)
图为运行代码后仍然存在的两个变量
我试图删除示例中的所有离群值,但出于某种原因,这两个变量仍然存在。有没有一种代码可以删除所有变量?
在删除异常值之前,您有:
IQR(newData$bachelor_s_degree)
[1] 265.25
median(newData$bachelor_s_degree)
[1] 127.5
所以异常值是那些大于
的点
median(newData$bachelor_s_degree) + 1.5 * IQR(newData$bachelor_s_degree)
[1] 525.375
移除异常值后,中位数和 IQR 都会发生变化,因此:
median(newData$bachelor_s_degree)
[1] 121.5
IQR(newData$bachelor_s_degree)
[1] 249
median(newData$bachelor_s_degree) + 1.5 * IQR(newData$bachelor_s_degree)
[1] 495
您的数据集有几个点超出了new异常值范围,即小于525.375(所以第一次没有去掉)但大于495(所以他们现在算作异常值)。
我尝试 运行 此代码删除异常值,但仍然存在两个异常值。
newData <- read.csv(file = 'https://data.edmonton.ca/resource/f7ms-98xd.csv', header = T)
boxplot(newData$bachelor_s_degree)$out
no_outliers <- boxplot(newData$bachelor_s_degree)$out
print(no_outliers)
newData[which(newData$bachelor_s_degree %in% no_outliers),]
newData <- newData[-which(newData$bachelor_s_degree %in% no_outliers),]
boxplot(newData$bachelor_s_degree)
图为运行代码后仍然存在的两个变量
我试图删除示例中的所有离群值,但出于某种原因,这两个变量仍然存在。有没有一种代码可以删除所有变量?
在删除异常值之前,您有:
IQR(newData$bachelor_s_degree)
[1] 265.25
median(newData$bachelor_s_degree)
[1] 127.5
所以异常值是那些大于
的点median(newData$bachelor_s_degree) + 1.5 * IQR(newData$bachelor_s_degree)
[1] 525.375
移除异常值后,中位数和 IQR 都会发生变化,因此:
median(newData$bachelor_s_degree)
[1] 121.5
IQR(newData$bachelor_s_degree)
[1] 249
median(newData$bachelor_s_degree) + 1.5 * IQR(newData$bachelor_s_degree)
[1] 495
您的数据集有几个点超出了new异常值范围,即小于525.375(所以第一次没有去掉)但大于495(所以他们现在算作异常值)。