Моя цель заключается в однофакторном подходе к обнаружению выбросов с использованием функций построения и точек.Используемый пакет DMwR.
Пример кода, указанный в присваивании:
x <- data.frame(1:100, x)
plot(x, main = "x outlier", col = "darkgreen")
points(x[outlier.x, ], col= 'red', pch = 'x', cex = 1.5)
Пропущенные значения адреса:
clean.qs <- na.omit(sales$quantitySold)
Суммирование данных:
summary(clean.qs)
#Min. 1st Qu. Median Mean 3rd Qu. Max.
#1005 1345 2675 14617 8680 4642955
Для переменной количестваSold
plot(clean.qs, main='Quantity Sold', col='darkgreen')
qs.out <- boxplot.stats(clean.qs)$out
Найти индекс для выбросов:
outlier.qs <- which(clean.qs %in% qs.out)
Попытка 1:
plot(clean.qs, main='Quantity Sold', col='darkgreen')
points(clean.qs[outlier.qs, ], col='red', pch='x', cex=1.5)
Попытка 2:
set.seed(3147)
x <- data.frame(1:387304, clean.qs)
plot(clean.qs, main='Quantity Sold', col='darkgreen')
points(clean.qs[outlier.qs, ], col='red', pch='x', cex=1.5)
Этот код должен создать график с темно-зелеными кружками для не-выбросов и добавить красные крестики над зелеными кружками для выбросов.
Функция построения работает успешно, однако эта ошибка возникает в точкахфункция: «Ошибка в clean.qs [outlier.qs,]: неверное количество измерений».