[R] detect and replace outliers by the average

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Thu Apr 20 20:44:13 CEST 2023


Às 19:36 de 20/04/2023, AbouEl-Makarim Aboueissa escreveu:
> Dear All:
> 
> 
> 
> *Re:* detect and replace outliers by the average
> 
> 
> 
> The dataset, please see attached, contains a group factoring column “
> *factor*” and two columns of data “x1” and “x2” with some NA values. I need
> some help to detect the outliers and replace it and the NAs with the
> average within each level (0,1,2) for each variable “x1” and “x2”.
> 
> 
> 
> I tried the below code, but it did not accomplish what I want to do.
> 
> 
> 
> 
> 
> data<-read.csv("G:/20-Spring_2023/Outliers/data.csv", header=TRUE)
> 
> data
> 
> replace_outlier_with_mean <- function(x) {
> 
>    replace(x, x %in% boxplot.stats(x)$out, mean(x, na.rm=TRUE))  #### ,
> na.rm=TRUE NOT working
> 
> }
> 
> data[] <- lapply(data, replace_outlier_with_mean)
> 
> 
> 
> 
> 
> Thank you all very much for your help in advance.
> 
> 
> 
> 
> 
> with many thanks
> 
> abou
> 
> 
> ______________________
> 
> 
> *AbouEl-Makarim Aboueissa, PhD*
> 
> *Professor, Mathematics and Statistics*
> *Graduate Coordinator*
> 
> *Department of Mathematics and Statistics*
> *University of Southern Maine*
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
Hello,

There is no data set attached, see the posting guide on what file 
extensions are allowed as attachments.

As for the question, try to compute mean(x, na.rm = TRUE)  first, then 
use this value in the replace instruction. Without data I'm just guessing.

Hope this helps,

Rui Barradas



More information about the R-help mailing list