biohuang 发表于 2015-6-30 09:25 
这个貌似就没法直接用boxplot()了。你可以用别的方法找到outlier,也可以利用boxplot()返回的结果用which() ...
我也是想了半天没有直接的办法。所以才想通过找到outlier,根据outlier返回的值去寻找源数据。我现在的一个比较笨的方法是把outlier转换成data.frame, 然后把这个data.frame和我的源data.frame,按outlier的列名用merge方法,提取outlier的源信息。
你提到的which()方法,我试了半天都不成功。which()的判断语句里,is.na、对比一个数值都比较好用,例如which(is.na(x)), which(x >/=/< 4)等等都能方便提取对应判断条件的下标,但是用which判断等于某一向量的时候就报错。例如我上面提到的例子,
a <- c(9,8,7,6,5)
b <- c(9,6,5)
我想提取a中9,6,5的下表位置,用which(a == b)就不行。不知道你有没有好的解决方法?毕竟which用起来很方便。。。