У меня есть фрейм данных с 25 переменными.Я хочу удалить из него выбросы.
Я обыскал форум SO и обнаружил, что существуют специальные решения, которые люди предлагают для разных сообщений.
Существует ли какая-либо стандартная функция R, которая удаляет выбросы из данных?
Вот две функции, которые я нашел из поиска.Насколько они хороши, ИЛИ, есть ли какое-то стандартное лучшее решение для достижения этого в R.
remove_outliers: Ссылка 1
Удаление выбросов - быстрое и грязное: Ссылка 2
РЕДАКТИРОВАТЬ
Данные в моем фрейме данных содержат непрерывные данные из двух источников: погоды и земли.Прогноз погоды зависит от температуры, влажности, ветра, дождя, солнечной радиации.А из грунта - грунтовые воды и влажность почвы.Я хочу найти связь между влажностью почвы и другими переменными.Я анализирую данные, используя разные модели.Теперь я хочу увидеть результаты после удаления выбросов из данных.
РЕДАКТИРОВАТЬ Я использовал и отредактировал код из одного учебника, к которому я добавил ссылку выше.Это работает нормально, когда есть некоторые выбросы в данных.Но возникает ошибка, когда их нет.Как это исправить.
Вот код:
outlier_rem<-Data_combined #data-frame with 25 var, few have outliers
#removong outliers from the column
outliers <- boxplot(outlier_rem$var1, plot=FALSE)$out
#print(outliers)
#ol<-outlier_rem[which(outlier_rem$var1 %in% outliers),]
ol<-outlier_rem[-which(outlier_rem$var1 %in% outliers),]
dim(ol)
boxplot(ol)
Вот сообщение об ошибке, когда ol возвращает 0 vale.
> dim(ol)
[1] 0 25
> boxplot(ol)
no non-missing arguments to min; returning Infno non-missing arguments to max; returning -InfError in plot.window(xlim = xlim, ylim = ylim, log = log, yaxs = pars$yaxs) :
need finite 'ylim' values