所以,我有一个数据集并知道如何使用summary命令获取五数概括。现在我需要获取Q3 + 1.5IQR以上或Q1 - 1.5IQR以下的实例,由于这些只是数字-如何从数据集中返回位于该数字上方或下方的实例?
您可以使用boxplot
来获取这个。如果您的变量是x,
OutVals = boxplot(x)$out
which(x %in% OutVals)
如果您对剧情感到烦恼,您可以使用
OutVals = boxplot(x, plot=FALSE)$out
remove_outliers
函数(链接在此)。它恰好符合你的需要。remove_outliers <- function(x, na.rm = TRUE, ...) {
qnt <- quantile(x, probs=c(.25, .75), na.rm = na.rm, ...)
H <- 1.5 * IQR(x, na.rm = na.rm)
y <- x
y[x < (qnt[1] - H)] <- NA
y[x > (qnt[2] + H)] <- NA
y
}
x
,你可以使用以下方法获取这些数字。summary(x)[["1st Qu."]]
summary(x)[["3rd Qu."]]
library(car)
Boxplot(DV ~ IV, data = datafile)
在哪里:
DV = measured variable
IV = grouping variable