我需要用数学上的四分位法去除outlier,一遍一遍的去直到数据条数不再减少。我现在具体的方法就是手动重复n次code直到表格t0n的条数不再减少。请问如何用个loop让他自动的重复直到不在减少?或者有没有其他的办法?谢谢!
##去除第1遍outlier
a<-c(total[,5])
b<-c(total[,1])
iqr<-(tapply(a,b,qt75)-tapply(a,b,qt25))*1.5
min1<-tapply(a,b,qt25)-iqr
max1<-tapply(a,b,qt75)+iqr
qt1<-data.frame(station.name,min1,max1)
total<-merge(total,qt1)
t01<-total[total$q>total$min1&total$q<total$max1,]
##去除第2遍outlier
a<-c(t01[,5])
b<-c(t01[,1])
iqr<-(tapply(a,b,qt75)-tapply(a,b,qt25))*1.5
min2<-tapply(a,b,qt25)-iqr
max2<-tapply(a,b,qt75)+iqr
qt2<-data.frame(station.name,min2,max2)
t01<-merge(t01,qt2)
t02<-t01[t01$q>t01$min2&t01$q<t01$max2,]