如何识别R箱图中的异常值标签?

sta*_*tti 5 plot r outliers

R boxplot函数是查看数据的一种非常有用的方法:它可以快速为您提供数据的大致位置和方差以及异常值数量的可视汇总.另外,我想识别异常值,以便快速找到数据集中的问题.

可以使用以下方式访问这些异常值myplot$out.不幸的是,这些异常值的标签似乎不可用.有些软件包旨在在图表上显示标签:http://www.r-statistics.com/2011/01/how-to-label-all-the-outliers-in-a-boxplot/,但是他们不能很好地工作,我只想列出这些异常值,我不需要他们在剧情本身.

有任何想法吗?

csg*_*pie 16

你自己完成了大部分艰苦的工作.剩下的就是比较:

##First create some data 
##You should include this in your question)
set.seed(2)
dd = data.frame(x = rlnorm(26), y=LETTERS)
Run Code Online (Sandbox Code Playgroud)

抓住异常值

outliers = boxplot(dd$x, plot=FALSE)$out
Run Code Online (Sandbox Code Playgroud)

从原始数据框中提取异常值

dd[dd$x %in% outliers,]
Run Code Online (Sandbox Code Playgroud)

进一步说明:

变量dd$x是26个数字的向量.该变量outliers包含异常值的值(只需键入dd$xoutliers在R控制台中).命令

dd$x %in% outliers
Run Code Online (Sandbox Code Playgroud)

匹配dd $ x和异常值的值,即:

[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE <snip>
Run Code Online (Sandbox Code Playgroud)

方括号符号,dd[dd$x %in% outliers,]返回数据帧的行dd,其中dd$x %in% outliers返回TRUE.