用R数据帧中的NA替换异常值

时间:2019-10-07 12:02:47

标签: r boxplot outliers

我在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 :(得分:0)

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))