Замена выбросов на NA в кадре данных R - PullRequest
0 голосов
/ 07 октября 2019

У меня есть некоторые данные в фрейме R. Я должен удалить выбросы из этого. Я использую функцию boxplot, чтобы удалить из нее выбросы. Хотя этот метод удаляет полный ряд.

Как я могу изменить его, чтобы заменить выбросы на NA, чтобы я мог сохранить данные?

Вот мой код:

outliers <- boxplot(outlier_H_rem$var1, plot=FALSE)$out
if(length(outliers) == 0)
  { outlier_H_rem1<-outlier_H_rem
  boxplot(outlier_H_rem1$var1)} else { 
  outlier_H_rem1<-outlier_H_rem[-which(outlier_H_rem$var1 %in% outliers),]
  var1<-outlier_H_rem1$var1}
  boxplot(outlier_H_rem1$var1)

1 Ответ

0 голосов
/ 07 октября 2019
outlier_H_rem1 <- outlier_H_rem

outliers <- boxplot(outlier_H_rem$var1, plot=FALSE)$out

outlier_H_rem1$var1[outlier_H_rem1$var1 %in% outliers] <- NA

С примерами данных:

outlier_H_rem <- data.frame(var1 = c(runif(100), 42, 17, 33))
...