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