【发布时间】:2019-09-25 16:38:27
【问题描述】:
我正在尝试使用 geom_historgram 在考试中按分数可视化成绩分布,同时填写字母等级(A、B、C、D、F)。出于某种原因,填充颜色溢出到错误的类别中。我已经对照分数检查了字母等级列,它似乎是正确的。
这是一个大班,所以我将数据修剪到尽可能少的等级,以重现类似的结果。
我使用 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))
我尝试添加 bins = 10,但得到了类似的结果。我希望每个填充正确代表字母等级。任何帮助将不胜感激。
【问题讨论】: