gpt4 book ai didi

r - 为什么填充 geom_histogram 会溢出到错误的容器中?

转载 作者:行者123 更新时间:2023-12-01 09:30:47 24 4
gpt4 key购买 nike

我正在尝试使用 geom_historgram 来可视化考试中分数的成绩分布,同时填写字母成绩(A、B、C、D、F)。由于某种原因,填充颜色溢出到了错误的类别中。我已经对照分数检查了字母等级列,看起来是正确的。

这是针对一个大类(class),因此我将数据修剪到尽可能少的等级,以重现类似的结果。

我使用 ifelse 为关联点创建字母等级。例如,A = 90 - 100,B = 80 - 79.99。然后,我使用字母等级填充创建直方图,但“B”箱的一部分显示为“A”填充,“C”箱的一部分显示为“B”填充。

df1 <- as.data.frame(c(90.0, 40.4, 54.8, 86.0, 60.8, 78.4, 68.4, 59.2, 92.0, 64.4, 
42.4, 90.8, 83.2, 77.2, 85.2, 45.2, 56.0, 77.6, 73.6, 86.8,
66.0, 80.0, 90.0, 74.0, 77.6))
colnames(df1)<-c("grade")
df1$LetterGrade<- ifelse(df1$grade<60, "F",
ifelse(df1$grade>=60 & df1$grade<70,"D",
ifelse(df1$grade>=70 & df1$grade<80,"C",
ifelse(df1$grade>=80 & df1$grade<90,"B","A"))))

ggplot(df1, aes(x=grade, fill = LetterGrade)) +
geom_histogram(breaks=seq(0, 100, by = 10)) +
scale_x_continuous(breaks = seq(0, 100, 10))

histogramresult

我尝试添加 bins = 10,但得到了类似的结果。我希望每个填充都能正确代表字母等级。任何帮助将不胜感激。

最佳答案

使用closed="left"

ggplot(df1, aes(x=grade, fill = LetterGrade)) +
geom_histogram(breaks=seq(0, 100, by = 10), closed="left") +
scale_x_continuous(breaks = seq(0, 100, 10))

enter image description here

否则垃圾箱是 a < x <= b由于您想将左侧包含在垃圾箱中,因此您需要 a <= x < b您可以通过 closed="left" 获得。请参阅?geom_histogram了解更多信息。

关于r - 为什么填充 geom_histogram 会溢出到错误的容器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58102968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com