我有一个以R表示的正确率值的箱形图(y轴),图上的每个点代表一个不同的参与者。我想用参与者ID(Pt_ID)标记我的三个离群值。我创建了一个数据框,其中包含一列$outlier来标记这些离群值。
#Create function to identify outliers in terms of % correct
findoutlier <- function(x) {
return(x < quantile(x, .25) - 1.5*IQR(x) | x > quantile(x, .75) + 1.5*IQR(x))
}
#Add a column to identify which participants are outliers
performance_tibble <- performance_tibble %>%
mutate(outlier = ifelse(findoutlier(performance_tibble$Perc_Correct), Pt_ID, NA))
#Plot boxplot of %correct including outliers labelled with Pt_ID
ggplot(performance_tibble)+geom_boxplot(aes(y=Perc_Correct), outlier.colour= "red")+theme(axis.text.x = element_blank(), axis.ticks.x= element_blank())
我看过其他帖子,也尝试过使用+geom_text(aes(label=outlier),但这说明我需要x和y美学(我只有一个y变量,因为它是一个箱线图)。有人能建议如何在不需要指定x美学的情况下标记这些离群值吗?
1条答案
按热度按时间ajsxfq5m1#
您需要为x值添加一个虚拟值,并且将y值移到
ggplot()
中以便所有层都使用它会更容易。唯一的其他更改是去掉随后出现的x标签。