Para ver si hay datos atípicos en todas las variables numéricas de esta base de datos, podemos pensar en automatizar la comprobación creando una función.
Esta sería la función propia outliers()
# Inspirado en: https://datascienceplus.com/identify-describe-plot-and-removing-the-outli0ers-from-the-datasetoutliers<-function(tt) { var_name<-eval(parse(text=tt)) tot<-sum(!is.na(var_name)) na1<-sum(is.na(var_name)) par(mfrow=c(1,2),oma=c(0,0,3,0)) hist(var_name,main="All observations",xlab=NA,ylab=NA) outlier<-boxplot.stats(var_name,coef=3)$outvar_name<-ifelse(var_name%in%outlier,NA,var_name) na2<-sum(is.na(var_name)) hist(var_name,main=c("Outliers removed",paste0(round((na2-na1) /tot*100,2),"%")),xlab=NA,ylab=NA) title(paste0("Outlier Check for ",tt),outer=TRUE) message("Outliers identified in ",tt,": ",na2-na1," from ",tot," observations")message("Proportion (%) of outliers: ", (na2-na1) /tot*100) response<-readline(prompt="Do you want to replace outliers with NA? [yes/no]: ") if(response=="y"|response=="yes"){ eval(parse(text=paste0(tt," <<- invisible(var_name)"))) message("Outliers successfully removed","\n") } else{ message("Nothing changed","\n") } par(mfrow=c(1,1),oma=c(0,0,0,0))}
Y para usarla sería como una función cualquiera de R:
Esta función proporciona datos extremos, modifica la función para detectar datos atípicos (sin ser extremos) y aplícala a las distintas variables, luego piensa si modificas o no la base de datos.
Piensa cuidadosamente si quitar o no los datos atípicos de tu base de datos. Un dato atípico no es un dato que se va de la media sino un dato que realmente es incorrecto.