This function can be used to detect exceptionally high or low scores in a vector.
exceptionalScore(
x,
prob = 0.025,
both = TRUE,
silent = FALSE,
quantileCorrection = 1e-04,
quantileType = 8
)
Vector in which to detect exceptional scores.
Probability that a score is exceptionally positive or negative;
i.e. scores with a quartile lower than prob
or higher than
1-prob
are considered exceptional (if both is TRUE
, at least). So,
note that a prob
of .025 means that if both=TRUE
, the most
exceptional 5% of the values is marked as such.
Whether to consider values exceptional if they're below
prob
as well as above 1-prob
, or whether to only consider
values exceptional if they're below prob
is prob
is < .5, or
above prob
if prob
> .5.
Can be used to suppress messages.
By how much to correct the computed quantiles; this is used because when a distribution is very right-skewed, the lowest quantile is the lowest value, which is then also the mode; without subtracting a correction, almost all values would be marked as 'exceptional'.
The algorithm used to compute the quantiles; see
stats::quantile()
.
A logical vector, indicating for each value in the supplied vector whether it is exceptional.
Note that of course, by definition, prob
or 2 * prob
percent of
the values is exceptional, so it is usually not a wise idea to remove scores
based on their 'exceptionalness'. Instead, use exceptionalScores()
,
which calls this function, to see how often participants answered
exceptionally, and remove them based on that.
exceptionalScore(
c(1,1,2,2,2,3,3,3,4,4,4,5,5,5,5,6,6,7,8,20),
prob=.05
);
#> [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE