我有这个函数来计算IQR的异常值,需要添加一个boxplot作为副作用。到目前为止,我有这个,它的工作原理,但它也打印出一堆关于boxplot的信息,这是我不想要的。
IQR.outliers <- function(x) {
if(any(is.na(x)))
stop("x is missing values")
if(!is.numeric(x))
stop("x is not numeric")
Q3<-quantile(x,0.75)
Q1<-quantile(x,0.25)
IQR<-(Q3-Q1)
left<-(Q1-(1.5*IQR))
right<-(Q3+(1.5*IQR))
list(IQR=IQR,left=x[x<left],right=x[x>right],boxplot(x))
}