Đề tài 2: Cài đặt ngôn ngữ R, tạo một bảng dữ liệu và thực hiện cácthống kê, vẽ biểu đồ... (làm trên máy, copy các câu lệnh ra giấy) môn Công nghệ thông tin | Trường đại học kinh doanh và công nghệ Hà Nội

Số học sinh giỏi: 1 > cat("Số học sinh cần cải thiện điểm môn Toán:", can_cai_thien_toan, "\n") Số học sinh cần cải thiện điểm môn Toán: 1
> cat("Số học sinh cần cải thiện điểm môn Văn:", can_cai_thien_van, "\n") Số học sinh cần cải thiện điểm môn Văn: 1. Tài liệu giúp bạn tham  khảo, ôn tập và đạt kết quả cao. Mời đọc đón xem!

lOMoARcPSD| 48641284
Họ và tên : Lê Huỳnh Đức
Lớp : TH26.32
MSV : 2621151456
Đề tài 2: Cài đặt ngôn ngữ R, tạo một bảng dữ liệu và thực hiện cácthống kê, vẽ biểu đồ... (làm
trên máy, copy các câu lệnh ra giấy)
Bài Làm
> BTKN <-c("Le Huynh Duc","TH26.32","2621151456" )
> BTKN
[1] "Le Huynh Duc" "TH26.32" "2621151456"
> data <- data.frame (
+ Học_Sinh = c("Nam", "Lan", "Hùng", "An", "Bình", "Tú", "Dũng", "Hà",
"Phương", "Quang"),
+ Hóa = c(8, 7, 6, 9, 5, 7, 8, 6, 8, 9),
+ Sinh = c(7, 8, 5, 6, 7, 9, 6, 7, 8, 6),
+ Văn = c(8, 9, 5, 7, 6, 7, 8, 9, 7, 8),
+ Toán = c(9, 8, 7, 6, 5, 9, 8, 7, 6, 9),
+ Lý = c(8, 7, 6, 8, 7, 6, 9, 7, 8, 9))
> data
Học_Sinh Hóa Sinh Văn Toán Lý
1 Nam 8 7 8 9 8
2 Lan 7 8 9 8 7
3 Hùng 6 5 5 7 6
4 An 9 6 7 6 8
5 Bình 5 7 6 5 7
6 Tú 7 9 7 9 6
lOMoARcPSD| 48641284
7 Dũng 8 6 8 8 9
8 Hà 6 7 9 7 7
9 Phương 8 8 7 6 8
10 Quang 9 6 8 9 9
> # Tính điểm trung bình
> data$Điểm_Trung_Bình <- rowMeans(data[, 2:6])
> # Xếp loại học lực dựa trên điểm trung bình
> data$Học_Lực <- cut(data$Điểm_Trung_Bình,
+ breaks = c(-Inf, 5, 6.5, 8, Inf),
+ labels = c("Yếu", "Trung bình", "Khá", "Giỏi" ))
> print(data )
Học_Sinh Hóa Sinh Văn Toán Lý Điểm_Trung_Bình Học_Lực
1 Nam 8 7 8 9 8 8.0 Khá
2 Lan 7 8 9 8 7 7.8 Khá
3 Hùng 6 5 5 7 6 5.8 Trung bình
4 An 9 6 7 6 8 7.2 Khá
5 Bình 5 7 6 5 7 6.0 Trung bình
6 Tú 7 9 7 9 6 7.6 Khá
7 Dũng 8 6 8 8 9 7.8 Khá
8 Hà 6 7 9 7 7 7.2 Khá
9 Phương 8 8 7 6 8 7.4 K
10 Quang 9 6 8 9 9 8.2 Giỏi
> # Thống kê số học sinh giỏi
> so_hoc_sinh_gioi <- sum(data$Học_Lực == "Giỏi" )
> # Thống kê số học sinh cần cải thiện điểm Toán hoặc Văn nếu điểm thấp hơn 6
> can_cai_thien_toan <- sum(data$Toán < 6)
lOMoARcPSD| 48641284
> can_cai_thien_van <- sum(data$Văn < 6)
> can_cai_thien <- sum(data$Toán < 6 | data$Văn < 6)
> # In kết quả
> cat("Số học sinh giỏi:", so_hoc_sinh_gioi, "\n" )
Số học sinh giỏi: 1
> cat("Số học sinh cần cải thiện điểm môn Toán:", can_cai_thien_toan, "\n" )
Số học sinh cần cải thiện điểm môn Toán: 1
> cat("Số học sinh cần cải thiện điểm môn Văn:", can_cai_thien_van, "\n" )
Số học sinh cần cải thiện điểm môn Văn: 1
> cat("Số học sinh cần cải thiện điểm môn Toán hoặc Văn:", can_cai_thien, "\n" )
Số học sinh cần cải thiện điểm môn Toán hoặc Văn: 2
> # Tính điểm trung bình của từng môn học
> mean_hoa <- mean(data$Hóa )
> mean_sinh <- mean(data$Sinh )
> mean_van <- mean(data$Văn )
> mean_toan <- mean(data$Toán )
> mean_ly <- mean(data$Lý )
> # Tạo bảng dữ liệu cho điểm trung bình của từng môn học
> mean_data <- data.frame (
+ Môn_Học = c("Hóa", "Sinh", "Văn", "Toán", "Lý"),
+ Điểm_Trung_Bình = c(mean_hoa, mean_sinh, mean_van, mean_toan, mean_ly)
+ )
> mean_data
Môn_Học Điểm_Trung_Bình
1 Hóa 7.3
2 Sinh 6.9
lOMoARcPSD| 48641284
3 Văn 7.4
4 Toán 7.4
5 Lý 7.5
> # Vẽ biểu đồ cột cho điểm trung bình của từng môn học
> ggplot(mean_data, aes(x = Môn_Học, y = Điểm_Trung_Bình, fill = Môn_Học))
+
+ geom_bar(stat = "identity") +
+ labs(title = "Điểm Trung Bình của Từng Môn Học", x = "Môn Học", y =
"Điểm Trung Bình") +
+ theme_minimal ()
lOMoARcPSD| 48641284
> # Vẽ biểu đồ phân phối điểm số môn Toán và Hóa
> ggplot(data) +
+ geom_histogram(aes(x = Toán, y = ..density..), binwidth = 1, fill = "blue", alpha
= 0.5) +
+ geom_density(aes(x = Toán), color = "blue", size = 1) +
+ geom_histogram(aes(x = Hóa, y = ..density..), binwidth = 1, fill = "red", alpha
= 0.5) +
lOMoARcPSD| 48641284
+ geom_density(aes(x = Hóa), color = "red", size = 1) +
+ labs(title = "Phân phối điểm số môn Toán và Hóa", x = "Điểm số", y = "Mật
độ") +
+ scale_x_continuous(breaks = seq(0, 10, 1)) +
+ theme_minimal() +
+ theme(legend.position = "none") +
+ annotate("text", x = 8, y = 0.15, label = "Toán", color = "blue", size = 5) +
+ annotate("text", x = 7, y = 0.1, label = "Hóa", color = "red", size = 5)
lOMoARcPSD| 48641284
# Thống kê số lượng học sinh theo học lực
> hoc_luc_summary <- data %>%
+ group_by(Học_Lực) %>%
+ summarise(Số_Lượng = n ())
> hoc_luc_summary
# A tibble: 3 × 2
lOMoARcPSD| 48641284
Học_Lực Số_Lượng
<fct> <int>
1 Trung bình 2
2 Khá 7
3 Giỏi 1
> Vẽ biểu đồ tròn thống kê học lực của học sinh
> ggplot(hoc_luc_summary, aes(x = "", y = Số_Lượng, fill = Học_Lực)) +
+ geom_bar(width = 1, stat = "identity") +
+ coord_polar("y") +
+ labs(title = "Thống kê học lực của học sinh") +
+ theme_minimal() +
+ theme(axis.text.x = element_blank()) +
+ geom_text(aes(label = Số_Lượng), position = position_stack(vjust = 0.5))
lOMoARcPSD| 48641284
| 1/9

Preview text:

lOMoAR cPSD| 48641284
Họ và tên : Lê Huỳnh Đức Lớp : TH26.32 MSV : 2621151456
Đề tài 2: Cài đặt ngôn ngữ R, tạo một bảng dữ liệu và thực hiện cácthống kê, vẽ biểu đồ... (làm
trên máy, copy các câu lệnh ra giấy) Bài Làm
> BTKN <-c("Le Huynh Duc","TH26.32","2621151456" ) > BTKN
[1] "Le Huynh Duc" "TH26.32" "2621151456" > data <- data.frame (
+ Học_Sinh = c("Nam", "Lan", "Hùng", "An", "Bình", "Tú", "Dũng", "Hà", "Phương", "Quang"),
+ Hóa = c(8, 7, 6, 9, 5, 7, 8, 6, 8, 9),
+ Sinh = c(7, 8, 5, 6, 7, 9, 6, 7, 8, 6),
+ Văn = c(8, 9, 5, 7, 6, 7, 8, 9, 7, 8),
+ Toán = c(9, 8, 7, 6, 5, 9, 8, 7, 6, 9),
+ Lý = c(8, 7, 6, 8, 7, 6, 9, 7, 8, 9)) > data
Học_Sinh Hóa Sinh Văn Toán Lý 1 Nam 8 7 8 9 8 2 Lan 7 8 9 8 7 3 Hùng 6 5 5 7 6 4 An 9 6 7 6 8 5 Bình 5 7 6 5 7 6 Tú 7 9 7 9 6 lOMoAR cPSD| 48641284 7 Dũng 8 6 8 8 9 8 Hà 6 7 9 7 7 9 Phương 8 8 7 6 8 10 Quang 9 6 8 9 9
> # Tính điểm trung bình
> data$Điểm_Trung_Bình <- rowMeans(data[, 2:6])
> # Xếp loại học lực dựa trên điểm trung bình
> data$Học_Lực <- cut(data$Điểm_Trung_Bình,
+ breaks = c(-Inf, 5, 6.5, 8, Inf),
+ labels = c("Yếu", "Trung bình", "Khá", "Giỏi" )) > print(data )
Học_Sinh Hóa Sinh Văn Toán Lý Điểm_Trung_Bình Học_Lực 1 Nam 8 7 8 9 8 8.0 Khá 2 Lan 7 8 9 8 7 7.8 Khá 3
Hùng 6 5 5 7 6 5.8 Trung bình 4 An 9 6 7 6 8 7.2 Khá 5
Bình 5 7 6 5 7 6.0 Trung bình 6 Tú 7 9 7 9 6 7.6 Khá 7 Dũng 8 6 8 8 9 7.8 Khá 8 Hà 6 7 9 7 7 7.2 Khá 9 Phương 8 8 7 6 8 7.4 Khá 10 Quang 9 6 8 9 9 8.2 Giỏi
> # Thống kê số học sinh giỏi
> so_hoc_sinh_gioi <- sum(data$Học_Lực == "Giỏi" )
> # Thống kê số học sinh cần cải thiện điểm Toán hoặc Văn nếu điểm thấp hơn 6
> can_cai_thien_toan <- sum(data$Toán < 6) lOMoAR cPSD| 48641284
> can_cai_thien_van <- sum(data$Văn < 6)
> can_cai_thien <- sum(data$Toán < 6 | data$Văn < 6) > # In kết quả
> cat("Số học sinh giỏi:", so_hoc_sinh_gioi, "\n" ) Số học sinh giỏi: 1
> cat("Số học sinh cần cải thiện điểm môn Toán:", can_cai_thien_toan, "\n" )
Số học sinh cần cải thiện điểm môn Toán: 1
> cat("Số học sinh cần cải thiện điểm môn Văn:", can_cai_thien_van, "\n" )
Số học sinh cần cải thiện điểm môn Văn: 1
> cat("Số học sinh cần cải thiện điểm môn Toán hoặc Văn:", can_cai_thien, "\n" )
Số học sinh cần cải thiện điểm môn Toán hoặc Văn: 2
> # Tính điểm trung bình của từng môn học
> mean_hoa <- mean(data$Hóa )
> mean_sinh <- mean(data$Sinh )
> mean_van <- mean(data$Văn )
> mean_toan <- mean(data$Toán )
> mean_ly <- mean(data$Lý )
> # Tạo bảng dữ liệu cho điểm trung bình của từng môn học
> mean_data <- data.frame (
+ Môn_Học = c("Hóa", "Sinh", "Văn", "Toán", "Lý"),
+ Điểm_Trung_Bình = c(mean_hoa, mean_sinh, mean_van, mean_toan, mean_ly) + ) > mean_data
Môn_Học Điểm_Trung_Bình 1 Hóa 7.3 2 Sinh 6.9 lOMoAR cPSD| 48641284 3 Văn 7.4 4 Toán 7.4 5 Lý 7.5
> # Vẽ biểu đồ cột cho điểm trung bình của từng môn học
> ggplot(mean_data, aes(x = Môn_Học, y = Điểm_Trung_Bình, fill = Môn_Học)) +
+ geom_bar(stat = "identity") +
+ labs(title = "Điểm Trung Bình của Từng Môn Học", x = "Môn Học", y = "Điểm Trung Bình") + + theme_minimal () lOMoAR cPSD| 48641284
> # Vẽ biểu đồ phân phối điểm số môn Toán và Hóa > ggplot(data) +
+ geom_histogram(aes(x = Toán, y = ..density..), binwidth = 1, fill = "blue", alpha = 0.5) +
+ geom_density(aes(x = Toán), color = "blue", size = 1) +
+ geom_histogram(aes(x = Hóa, y = ..density..), binwidth = 1, fill = "red", alpha = 0.5) + lOMoAR cPSD| 48641284
+ geom_density(aes(x = Hóa), color = "red", size = 1) +
+ labs(title = "Phân phối điểm số môn Toán và Hóa", x = "Điểm số", y = "Mật độ") +
+ scale_x_continuous(breaks = seq(0, 10, 1)) + + theme_minimal() +
+ theme(legend.position = "none") +
+ annotate("text", x = 8, y = 0.15, label = "Toán", color = "blue", size = 5) +
+ annotate("text", x = 7, y = 0.1, label = "Hóa", color = "red", size = 5) lOMoAR cPSD| 48641284
# Thống kê số lượng học sinh theo học lực
> hoc_luc_summary <- data %>%
+ group_by(Học_Lực) %>%
+ summarise(Số_Lượng = n ()) > hoc_luc_summary # A tibble: 3 × 2 lOMoAR cPSD| 48641284 Học_Lực Số_Lượng 1 Trung bình 2 2 Khá 7 3 Giỏi 1
> Vẽ biểu đồ tròn thống kê học lực của học sinh
> ggplot(hoc_luc_summary, aes(x = "", y = Số_Lượng, fill = Học_Lực)) +
+ geom_bar(width = 1, stat = "identity") + + coord_polar("y") +
+ labs(title = "Thống kê học lực của học sinh") + + theme_minimal() +
+ theme(axis.text.x = element_blank()) +
+ geom_text(aes(label = Số_Lượng), position = position_stack(vjust = 0.5)) lOMoAR cPSD| 48641284