用r语言可视化每个班级的各项成绩的平均分并添加一列“level ”,总分大于等于平均分的同学为“学霸”,反之为“学徒”用if实现此功能
时间: 2024-03-10 22:45:51 浏览: 20
可以使用R中的ggplot2包进行可视化,使用dplyr包计算各项成绩的平均分和总分,并添加一列"level"作为学霸或学徒的标识。可以使用如下代码:
```r
# 导入数据
data <- read.csv("成绩数据.csv", header = TRUE)
# 计算各项成绩的平均分和总分
library(dplyr)
data_summary <- data %>%
group_by(班级) %>%
summarise(数学平均分 = mean(数学成绩), 英语平均分 = mean(英语成绩), 统计平均分 = mean(统计成绩), 总分 = 数学成绩 + 英语成绩 + 统计成绩) %>%
ungroup()
# 添加学霸或学徒的标识
data_summary$level <- ifelse(data_summary$总分 >= mean(data_summary$总分), "学霸", "学徒")
# 绘制图形
library(ggplot2)
ggplot(data_summary, aes(x = 班级, y = 总分, fill = level)) +
geom_bar(stat = "identity") +
scale_fill_manual(values = c("学霸" = "steelblue", "学徒" = "tomato")) +
labs(title = "各班级成绩总分图", x = "班级", y = "总分")
```
这样,就可以得到一个可视化的各班级成绩总分图,每个班级的总分用不同颜色区分,学霸和学徒用不同颜色表示。