d <- read.csv("D:\\Downloads\\StudentsPerformance.csv", header = T)
str(d)
## 'data.frame': 1000 obs. of 8 variables:
## $ gender : chr "female" "female" "female" "male" ...
## $ race.ethnicity : chr "group B" "group C" "group B" "group A" ...
## $ parental.level.of.education: chr "bachelor's degree" "some college" "master's degree" "associate's degree" ...
## $ lunch : chr "standard" "standard" "standard" "free/reduced" ...
## $ test.preparation.course : chr "none" "completed" "none" "none" ...
## $ math.score : int 72 69 90 47 76 71 88 40 64 38 ...
## $ reading.score : int 72 90 95 57 78 83 95 43 64 60 ...
## $ writing.score : int 74 88 93 44 75 78 92 39 67 50 ...
Bộ dữ liệu Student Performance in Exams là một tập dữ liệu giáo dục phổ biến, được đăng tải trên nền tảng Kaggle, ghi lại thông tin cá nhân cơ bản và kết quả học tập của học sinh trung học trong ba môn thi quan trọng: Toán (Math), Đọc hiểu (Reading) và Viết (Writing). Bộ dữ liệu này bao gồm 1000 học sinh và 8 biến đặc trưng (5 biến định tính và 3 biến định lượng), phản ánh tổng hợp các yếu tố liên quan đến học tập và điều kiện xã hội của từng học sinh.
Ý nghĩa các biến
gender: Giới tính của học sinh, gồm hai giá trị: male (nam) và female (nữ).
race/ethnicity: Nhóm dân tộc/xã hội của học sinh, được phân loại từ group A đến group E. Việc phân nhóm này tạo điều kiện cho việc phân tích xu hướng học tập giữa các nhóm xã hội khác nhau và đánh giá sự công bằng trong tiếp cận giáo dục.
Trình độ học vấn cao nhất của cha mẹ học sinh. Các giá trị gồm: some high school, high school, some college, associate’s degree, bachelor’s degree, master’s degree, Đây là yếu tố quan trọng phản ánh môi trường giáo dục gia đình và ảnh hưởng tiềm năng đến kết quả học tập của học sinh.
lunch: cho biết học sinh nhận được loại bữa trưa nào – standard (tiêu chuẩn) hoặc free/reduced (miễn/giảm giá). Đây là chỉ báo gián tiếp về tình trạng kinh tế xã hội của học sinh, giúp phân tích ảnh hưởng của điều kiện sống đến thành tích học tập.
test preparation course: ghi nhận học sinh có hoàn thành khóa luyện thi trước kỳ kiểm tra hay không (completed hoặc none). Đây là biến có thể phản ánh mức độ sẵn sàng và nỗ lực học tập, đồng thời cho phép đánh giá hiệu quả của các chương trình hỗ trợ học tập.
math score: điểm số môn Toán của học sinh, đánh giá năng lực tính toán và tư duy logic.
reading score: điểm đọc hiểu của học sinh, phản ánh khả năng tiếp nhận, phân tích và diễn giải thông tin văn bản.
writing score: điểm viết của học sinh, đánh giá trình độ ngôn ngữ, khả năng biểu đạt tư duy và sự phát triển toàn diện về mặt ngôn ngữ học thuật.
Thống kê tần suất
table(d$gender)
##
## female male
## 518 482
table(d$gender)/length(d$gender)
##
## female male
## 0.518 0.482
Trực quan hóa
gender_count <- d %>%
count(gender) %>%
mutate(prop = n / sum(n),
label = paste0(gender, " (", scales::percent(prop)))
gender_percent <- gender_count %>%
mutate(Percentage = round(prop * 100, 2))
ggplot(gender_percent, aes(x = "", y = Percentage, fill = gender)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
geom_text(aes(label = paste0(Percentage, "%")), position = position_stack(vjust = 0.5)) +
labs(title = "Tỷ lệ học sinh theo giới tính") +
theme_void() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))
Nhận xét
Tỷ lệ học sinh nam (51.8%) và nữ (48.2%) gần như cân bằng, cho thấy sự phân bố khá đồng đều giữa hai giới tính trong tông số học sinh.
Thống kê tần suất
table(d$race.ethnicity)
##
## group A group B group C group D group E
## 89 190 319 262 140
table(d$race.ethnicity)/length(d$race.ethnicity)
##
## group A group B group C group D group E
## 0.089 0.190 0.319 0.262 0.140
Trực quan hóa
ethnicity_count <- d %>%
count(race.ethnicity) %>%
mutate(prop = n / sum(n),
label = paste0(race.ethnicity, " (", scales::percent(prop)))
ethnicity_percent <- ethnicity_count %>%
mutate(Percentage = round(prop * 100, 2))
ggplot(ethnicity_percent, aes(x = "", y = Percentage, fill = race.ethnicity)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
geom_text(aes(label = paste0(Percentage, "%")),
position = position_stack(vjust = 0.5),
size = 3) +
labs(title = "Tỷ lệ học sinh theo nhóm dân tộc") +
theme_void() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))
Nhận xét
Tỷ lệ học sinh phân bố không đồng đều theo nhóm dân tộc, trong đó nhóm C chiếm tỷ lệ cao nhất (31.9%), tiếp theo là nhóm D (26.2%) và nhóm B (19%), trong khi nhóm E (14%) và nhóm A (8.9%) có tỷ lệ thấp hơn đáng kể. Sự chênh lệch này cho thấy đa số học sinh tập trung vào ba nhóm chính (C, D, B), chiếm tổng 77.1%, trong khi nhóm A là thiểu số rõ rệt (<10%)
Thống kê tần suất
table(d$parental.level.of.education)
##
## associate's degree bachelor's degree high school master's degree
## 222 118 196 59
## some college some high school
## 226 179
table(d$parental.level.of.education)/length(d$parental.level.of.education)
##
## associate's degree bachelor's degree high school master's degree
## 0.222 0.118 0.196 0.059
## some college some high school
## 0.226 0.179
Trực quan hóa
education_count <- d %>%
count(parental.level.of.education) %>%
mutate(prop = n / sum(n),
label = paste0(parental.level.of.education, " (", scales::percent(prop)))
education_percent <- education_count %>%
mutate(Percentage = round(prop * 100, 2))
# Tạo palette màu pastel
pastel_colors <- c("#FFD1DC", "#FFECB8", "#B5EAD7", "#C7CEEA", "#E2F0CB", "#FFDAC1")
ggplot(education_percent, aes(x = "", y = Percentage, fill = parental.level.of.education)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
geom_text(aes(label = paste0(Percentage, "%")),
position = position_stack(vjust = 0.5),
size = 3, color = "gray30") + # Màu chữ tối hơn để dễ đọc
scale_fill_manual(values = pastel_colors) + # Áp dụng màu pastel
labs(title = "Tỷ lệ học sinh theo trình độ học vấn của phụ huynh",
fill = "parental level of education") +
theme_void() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"),
legend.position = "right",
legend.title = element_text(face = "bold"))
Nhận xét
Nhóm phụ huynh chưa tốt nghiệp đại học có tỷ lệ cao nhất (22.6%), tiếp theo đó là nhóm có bằng cao đẳng (22.2%). Tiếp theo là các phụ huynh tốt nghiệp trung học phổ thông (19.6%) và chưa hoàn thành chương trình trung học phổ thống (17.9%). Trong khi đó, tỷ lệ phụ huynh có bằng đại học chỉ chiếm 11.8% và thấp nhất là nhóm phụ huynh có bằng thạc sĩ (5.9%).
Thống kê tần suất
table(d$lunch)
##
## free/reduced standard
## 355 645
table(d$lunch)/length(d$lunch)
##
## free/reduced standard
## 0.355 0.645
Trực quan hóa
# Xử lý dữ liệu
lunch_count <- d %>%
count(lunch) %>%
mutate(prop = n / sum(n),
label = paste0(lunch, " (", scales::percent(prop)))
lunch_percent <- lunch_count %>%
mutate(Percentage = round(prop * 100, 2))
# Màu pastel
pastel_colors <- c("#B5EAD7", "#FFDAC1") # Xanh pastel nhạt và cam pastel nhạt
# Vẽ biểu đồ
ggplot(lunch_percent, aes(x = "", y = Percentage, fill = lunch)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
geom_text(aes(label = paste0(Percentage, "%")),
position = position_stack(vjust = 0.5),
size = 4, color = "gray30", fontface = "bold") +
scale_fill_manual(values = pastel_colors,
labels = c("free/reduced", "standard")) +
labs(title = "Tỷ lệ học sinh theo loại bữa trưa được nhận",
fill = "lunch") +
theme_void() +
theme(plot.title = element_text(hjust = 0.5, face = "bold", size = 14),
legend.position = "right",
legend.title = element_text(face = "bold"))
Nhận xét
Kết quả từ biểu đồ cho thấy 64.5% học sinh sử dụng bữa trưa tiêu chuẩn (standard), trong khi 35.5% thuộc diện được miễn/giảm giá (free/reduced).
Thống kê tần suất
table(d$test.preparation.course)
##
## completed none
## 358 642
table(d$test.preparation.course)/length(d$test.preparation.course)
##
## completed none
## 0.358 0.642
Trực quan hóa
test_prep_count <- d %>%
count(test.preparation.course) %>%
mutate(prop = n / sum(n),
label = paste0(test.preparation.course, " (", scales::percent(prop)))
test_prep_percent <- test_prep_count %>%
mutate(Percentage = round(prop * 100, 2))
ggplot(test_prep_percent, aes(x = "", y = Percentage, fill = test.preparation.course)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
geom_text(aes(label = paste0(Percentage, "%")), position = position_stack(vjust = 0.5)) +
labs(title = "Tỷ lệ học sinh theo việc hoàn thành khóa học luyện thi") +
theme_void() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))
Nhận xét
Kết quả từ biểu đồ cho thấy chỉ 35.8% học sinh đã hoàn thành khóa học luyên thi, trong khi 64.2% học sinh chưa hoàn thành.
Bảng tần suất chéo
table(d$gender,d$test.preparation.course)
##
## completed none
## female 184 334
## male 174 308
prop.table(table(d$gender,d$test.preparation.course), margin = 1)
##
## completed none
## female 0.3552124 0.6447876
## male 0.3609959 0.6390041
Trực quan hóa
df_gender_prep <- d %>%
count(gender, test.preparation.course) %>%
group_by(gender) %>%
mutate(Percent = n / sum(n) * 100)
ggplot(df_gender_prep, aes(x = gender, y = Percent, fill = test.preparation.course)) +
geom_bar(stat = "identity", position = position_dodge(width = 0.7), width = 0.5) +
geom_text(aes(label = paste0(round(Percent, 1), "%")),
position = position_dodge(width = 0.7),
vjust = -0.5, size = 3.5) +
labs(title = "Tỷ lệ học sinh hoàn thành khóa luyện thi theo giới tính",
x = "Giới tính",
y = "Tỷ lệ phần trăm",
fill = "test preparation course", ) +
scale_fill_manual(values = c("#66C2A5", "#FC8D62"),
labels = c("none", "completed")) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
legend.position = "right",
axis.text = element_text(size = 11),
panel.grid.major.x = element_blank()
)
Nhận xét mô tả
Tỷ lệ học sinh nữ hoàn thành khóa học luyện thi là 35.5%, trong khi ở ở học sinh nam là 36.1%. Sự chênh lệch về tỷ lệ hoàn thành khóa học giữa nam và nữ là rất nhỏ, chỉ khoảng 0.6%, sư khác biệt này là không đáng kể và có thể coi như không có sự phân biệt về giới tính trong việc hoàn thành khóa học luyện thi.
Kiểm định thống kê
\[ \left\{ \begin{array}{ll} H_0: & \text{Giới tình và việc hoàn thành khóa học luyện thi là độc lập với nhau} \\\\ H_1: & \text{Giới tình và việc hoàn thành khóa học luyện thi có môi liên quan với nhau.} \ \end{array} \right. \]
chisq.test(table(d$gender,d$test.preparation.course))
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table(d$gender, d$test.preparation.course)
## X-squared = 0.015529, df = 1, p-value = 0.9008
Giá trị thống kê Chi-bình phương: 0.015529
Bậc tự do (df): 1
Giá trị p: 0.9008
Nhận xét: Vì p_value > 5% nên chưa đủ điều cơ sở bác bỏ H0, hay với mức ý nghĩa 5% thì giới tính và việc hoàn thành khóa học luyện thi của học sinh là độc lập với nhau.
Bảng tần suất chéo
table(d$race.ethnicity,d$lunch)
##
## free/reduced standard
## group A 36 53
## group B 69 121
## group C 114 205
## group D 95 167
## group E 41 99
prop.table(table(d$race.ethnicity,d$lunch), margin = 1)
##
## free/reduced standard
## group A 0.4044944 0.5955056
## group B 0.3631579 0.6368421
## group C 0.3573668 0.6426332
## group D 0.3625954 0.6374046
## group E 0.2928571 0.7071429
Trực quan hóa
df_race_lunch <- d %>%
count(race.ethnicity, lunch) %>%
group_by(race.ethnicity) %>%
mutate(Percent = n / sum(n) * 100)
ggplot(df_race_lunch, aes(x = race.ethnicity, y = Percent, fill = lunch)) +
geom_bar(stat = "identity", position = position_dodge(width = 0.7), width = 0.5) +
geom_text(aes(label = paste0(round(Percent, 1), "%")),
position = position_dodge(width = 0.7),
vjust = -0.5, size = 3) +
labs(title = "Tỷ lệ loại bữa trưa được nhận theo nhóm dân tộc",
x = "Nhóm dân tộc",
y = "Tỷ lệ phần trăm",
fill = "lunch") +
scale_fill_manual(values = c("#4E79A7", "#F28E2B"),
labels = c("free/reduced", "standard")) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
legend.position = "right",
axis.text = element_text(size = 11),
panel.grid.major.x = element_blank(),
axis.text.x = element_text( hjust = 1)
)
Nhận xét mô tả
Nhóm A có tỷ lệ học sinh được hỗ trợ bữa trưa cao nhất (40.4%), tiếp theo là các nhóm B (36.3%), C (35.7%) và D (36.3%), trong khi nhóm E có tỷ lệ thấp nhất (29.3%). Khoảng cách 11.1% giữa nhóm A và E phản ánh sự khác biệt rõ rệt về điều kiện kinh tế-xã hội giữa các nhóm dân tộc.
Kiểm định thống kê
\[ \left\{ \begin{array}{ll} H_0: & \text{Nhóm dân tộc và loại bữa trưa được nhận là độc lập với nhau} \\\\ H_1: & \text{Nhóm dân tộc và loại bữa trưa được nhận có môi liên quan với nhau.} \ \end{array} \right. \]
chisq.test(table(d$race.ethnicity,d$lunch))
##
## Pearson's Chi-squared test
##
## data: table(d$race.ethnicity, d$lunch)
## X-squared = 3.4424, df = 4, p-value = 0.4867
Giá trị thống kê Chi-bình phương: 3.4424
Bậc tự do (df): 4
Giá trị p: 0.4867
Nhận xét: Vì p_value > 5% nên chưa đủ điều cơ sở bác bỏ H0, hay với mức ý nghĩa 5% thì nhóm dân tộc và loại bữa trưa được hưởng của học sinh là độc lập với nhau.
**Biến parental level of education và test preparation course
Bảng tần suất chéo
table(d$parental.level.of.education,d$test.preparation.course)
##
## completed none
## associate's degree 82 140
## bachelor's degree 46 72
## high school 56 140
## master's degree 20 39
## some college 77 149
## some high school 77 102
prop.table(table(d$parental.level.of.education,d$test.preparation.course), margin = 1)
##
## completed none
## associate's degree 0.3693694 0.6306306
## bachelor's degree 0.3898305 0.6101695
## high school 0.2857143 0.7142857
## master's degree 0.3389831 0.6610169
## some college 0.3407080 0.6592920
## some high school 0.4301676 0.5698324
Trực quan hóa
df_parental_prep <- d %>%
count(parental.level.of.education, test.preparation.course) %>%
group_by(parental.level.of.education) %>%
mutate(Percent = n / sum(n) * 100)
ggplot(df_parental_prep, aes(x = parental.level.of.education, y = Percent, fill = test.preparation.course)) +
geom_bar(stat = "identity", position = position_dodge(width = 0.7), width = 0.5) +
geom_text(aes(label = paste0(round(Percent, 1), "%")),
position = position_dodge(width = 0.7),
vjust = -0.5, size = 3) +
labs(title = "Tỷ lệ hoàn thành khóa luyện thi theo trình độ học vấn phụ huynh",
x = "Trình độ học vấn phụ huynh",
y = "Tỷ lệ phần trăm",
fill = "test.preparation.course") +
scale_fill_manual(values = c("lightgreen", "lightblue"),
labels = c("completed", "none")) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
legend.position = "top",
axis.text = element_text(size = 7),
panel.grid.major.x = element_blank(),
axis.text.x = element_text(angle = 45, hjust = 0.8)
)
Nhận xét mô tả
Các học sinh có bố mẹ chưa tốt nghiệp THPT (some hight school) có tỷ lệ hoàn thành khóa luyện thi cao nhất (43.0%), trong khi nhóm phụ huynh tốt nghiệp “high school” (THPT) lại có tỷ lệ thấp nhất (28.6%). Các nhóm phụ huynh có trình độ cao hơn như “bachelor’s degree” (đại học: 39.0%) và “associate’s degree” (cao đẳng: 36.9%) có tỷ lệ con hoàn thành khóa luyện thi ở mức trung bình khá.
Kiểm định thống kê
\[ \left\{ \begin{array}{ll} H_0: & \text{Trình độ học vấn của phụ huynh và việc hoàn thành khóa luyện thi là độc lập với nhau} \\\\ H_1: & \text{Trình độ học vấn của phụ huynh và việc hoàn thành khóa luyện thi có môi liên quan với nhau.} \ \end{array} \right. \]
chisq.test(table(d$parental.level.of.education,d$test.preparation.course))
##
## Pearson's Chi-squared test
##
## data: table(d$parental.level.of.education, d$test.preparation.course)
## X-squared = 9.5441, df = 5, p-value = 0.08923
Giá trị thống kê Chi-bình phương: 9.5441
Bậc tự do (df): 5
Giá trị p: 0.08923
Nhận xét: Vì p_value = 0.08923 < 10% nên ta bác bỏ H0, hay với mức ý nghĩa 10% thì trình độ học vấn của phụ huynh và việc hoàn thành khóa luyện thi có môi liên quan với nhau.
Bảng 2x2
| standard | free/reduced | |
|---|---|---|
| male | 316 | 166 |
| female | 329 | 189 |
Relative Risk
riskratio(table(d$gender,d$lunch))
## $data
##
## free/reduced standard Total
## female 189 329 518
## male 166 316 482
## Total 355 645 1000
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## female 1.000000 NA NA
## male 1.032224 0.9415842 1.131589
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## female NA NA NA
## male 0.500191 0.5090345 0.4991476
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Kết quả Relative Risk = 1.032224 > 1 cho thấy học sinh nam có tỷ lệ nhận bữa trưa tiêu chuẩn cao hơn học sinh nữ.
Odds Ratio
oddsratio(table(d$gender,d$lunch))
## $data
##
## free/reduced standard Total
## female 189 329 518
## male 166 316 482
## Total 355 645 1000
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## female 1.000000 NA NA
## male 1.093412 0.8435212 1.418074
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## female NA NA NA
## male 0.500191 0.5090345 0.4991476
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Kết quả Odds Ratio = 1.093412 > 1 cho thấy ở học sinh nam có tỷ lệ chênh lệch giữa việc nhận bữa trưa tiêu chuẩn và được miễn/giảm giá lớn hơn so với ở học sinh nữ.
Bảng 2x2
| none | completed | |
|---|---|---|
| male | 308 | 174 |
| female | 334 | 184 |
Relative Risk
riskratio(table(d$gender,d$test.preparation.course))
## $data
##
## completed none Total
## female 184 334 518
## male 174 308 482
## Total 358 642 1000
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## female 1.0000000 NA NA
## male 0.9910304 0.9033178 1.08726
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## female NA NA NA
## male 0.8489948 0.8949914 0.8488229
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Kết quả Relative Risk = 0.9910304 < 1 cho thấy học sinh nam có tỷ lệ hoàn thành khóa luyện thi thấp hơn học sinh nữ.
Odds Ratio
oddsratio(table(d$gender,d$test.preparation.course))
## $data
##
## completed none Total
## female 184 334 518
## male 174 308 482
## Total 358 642 1000
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## female 1.0000000 NA NA
## male 0.9751644 0.752662 1.263585
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## female NA NA NA
## male 0.8489948 0.8949914 0.8488229
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Kết quả Odds Ratio = 0.9751644 < 1 cho thấy ở học sinh nam có tỷ lệ chênh lệch giữa việc hoàn thành khóa luyện thi so với chưa hoàn thành thấp hơn so với ở học sinh nữ.
Ước lượng khoảng tin cậy 95%
d_gender_m <- sum(d$gender == "male")
prop.test(d_gender_m, length(d$gender), conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: d_gender_m out of length(d$gender), null probability 0.5
## X-squared = 1.225, df = 1, p-value = 0.2684
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4506615 0.5134785
## sample estimates:
## p
## 0.482
Với mức tin cậy 95%, tỷ lệ số học sinh nam nằm trong khoảng từ 45.07% đến 51.35%.
Bài toán kiểm định
\[ \left\{ \begin{array}{ll} H_0: & \text{Tỷ lệ số học sinh nam trong tổng số học sinh là 55% } \\\\ H_1: & \text{Tỷ lệ số học sinh nam trong tổng số học sinh khác 55%.} \ \end{array} \right. \]
prop.test(d_gender_m,length(d$gender), p = 0.55, alternative = "two.sided", conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: d_gender_m out of length(d$gender), null probability 0.55
## X-squared = 18.409, df = 1, p-value = 1.782e-05
## alternative hypothesis: true p is not equal to 0.55
## 95 percent confidence interval:
## 0.4506615 0.5134785
## sample estimates:
## p
## 0.482
Kết quả kiểm định cho thấy p_value < 0.05, ta bác bỏ giả thuyết H₀ hay với mức ý nghĩa 5%, tỷ lệ số học sinh nam trong tổng số học sinh là khác 55%.
Ước lượng khoảng tin cậy 95%
d_groupA <- sum(d$race.ethnicity == "group A")
prop.test(d_groupA, length(d$race.ethnicity), conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: d_groupA out of length(d$race.ethnicity), null probability 0.5
## X-squared = 674.04, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.07243454 0.10879965
## sample estimates:
## p
## 0.089
Với mức tin cậy 95%, tỷ lệ số học sinh thuộc nhóm group A nằm trong khoảng từ 7.24% đến 10.88%.
Bài toán kiểm định
\[ \left\{ \begin{array}{ll} H_0: & \text{Tỷ lệ số học sinh thuộc group A trong tổng số học sinh là 10%. } \\\\ H_1: & \text{Tỷ lệ số học sinh thuộc group A trong tổng số học sinh khác 10%.} \ \end{array} \right. \]
prop.test(d_groupA,length(d$race.ethnicity), p = 0.1, alternative = "two.sided", conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: d_groupA out of length(d$race.ethnicity), null probability 0.1
## X-squared = 1.225, df = 1, p-value = 0.2684
## alternative hypothesis: true p is not equal to 0.1
## 95 percent confidence interval:
## 0.07243454 0.10879965
## sample estimates:
## p
## 0.089
Kết quả kiểm định cho thấy p_value > 0.05, chưa đủ cơ sở thống kê bác bỏ giả thuyết H₀ hay với mức ý nghĩa 5%, tỷ lệ số học sinh thuộc group A trong tổng số học sinh là 10%.
Ước lượng khoảng tin cậy 95%
d_bachelor <- sum(d$parental.level.of.education == "bachelor's degree")
prop.test(d_bachelor, length(d$parental.level.of.education), conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: d_bachelor out of length(d$parental.level.of.education), null probability 0.5
## X-squared = 582.17, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.09898992 0.14000650
## sample estimates:
## p
## 0.118
Với mức tin cậy 95%, tỷ lệ số học sinh có bố mẹ tốt nghiệp đại học nằm trong khoảng từ 9.9% đến 14%.
Bài toán kiểm định
\[ \left\{ \begin{array}{ll} H_0: & \text{Tỷ lệ số học sinh có bố mẹ tốt nghiệp đại học trong tổng số học sinh ít nhất 15%. } \\\\ H_1: & \text{Tỷ lệ số học sinh có bố mẹ tốt nghiệp đại học trong tổng số học sinh nhỏ hơn 15%.} \ \end{array} \right. \]
prop.test(d_bachelor,length(d$parental.level.of.education), p = 0.15, alternative = "less", conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: d_bachelor out of length(d$parental.level.of.education), null probability 0.15
## X-squared = 7.7824, df = 1, p-value = 0.002638
## alternative hypothesis: true p is less than 0.15
## 95 percent confidence interval:
## 0.0000000 0.1363494
## sample estimates:
## p
## 0.118
Kết quả kiểm định cho thấy p_value < 0.05, ta bác bỏ giả thuyết H₀ hay với mức ý nghĩa 5%, tỷ lệ số học sinh có bố mẹ tốt nghiệp đại học trong tổng số học sinh nhỏ hơn 15%.
Ước lượng khoảng tin cậy 95%
d_lunch_standard <- sum(d$lunch == "standard")
prop.test(d_lunch_standard, length(d$lunch), conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: d_lunch_standard out of length(d$lunch), null probability 0.5
## X-squared = 83.521, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.6143313 0.6745403
## sample estimates:
## p
## 0.645
Với mức tin cậy 95%, tỷ lệ số học sinh sử dụng bữa trưa tiêu chuẩn nằm trong khoảng từ 61.43% đến 67.45%.
Bài toán kiểm định
\[ \left\{ \begin{array}{ll} H_0: & \text{Tỷ lệ số học sinh thuộc sử dụng bữa trưa tiêu chuẩn trong tổng số học sinh không vượt quá 60%. } \\\\ H_1: & \text{Tỷ lệ số học sinh thuộc sử dụng bữa trưa tiêu chuẩn trong tổng số học sinh lớn hơn 60%.} \ \end{array} \right. \]
prop.test(d_lunch_standard,length(d$lunch), p = 0.15, alternative = "greater", conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: d_lunch_standard out of length(d$lunch), null probability 0.15
## X-squared = 1917.9, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is greater than 0.15
## 95 percent confidence interval:
## 0.619243 1.000000
## sample estimates:
## p
## 0.645
Kết quả kiểm định cho thấy p_value < 0.05, ta bác bỏ giả thuyết H₀ hay với mức ý nghĩa 5%, tỷ lệ số học sinh sử dụng bữa trưa tiêu chuẩn trong tổng số học sinh lớn 60%.
Ước lượng khoảng tin cậy 95%
d_completed <- sum(d$test.preparation.course == "completed")
prop.test(d_completed, length(d$test.preparation.course), conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: d_completed out of length(d$test.preparation.course), null probability 0.5
## X-squared = 80.089, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.3283927 0.3887124
## sample estimates:
## p
## 0.358
Với mức tin cậy 95%, tỷ lệ số học sinh đã hoàn thành khóa luyện thi nằm trong khoảng từ 32.84% đến 38.87%.
Bài toán kiểm định
\[ \left\{ \begin{array}{ll} H_0: & \text{Tỷ lệ số học sinh thoàn thành khóa luyện thi trong tổng số học sinh không vượt quá 40%. } \\\\ H_1: & \text{Tỷ lệ số học sinh thoàn thành khóa luyện thi trong tổng số học sinh lớn hơn 40%.} \ \end{array} \right. \]
prop.test(d_completed,length(d$test.preparation.course), p = 0.4, alternative = "greater", conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: d_completed out of length(d$test.preparation.course), null probability 0.4
## X-squared = 7.176, df = 1, p-value = 0.9963
## alternative hypothesis: true p is greater than 0.4
## 95 percent confidence interval:
## 0.3329864 1.0000000
## sample estimates:
## p
## 0.358
Kết quả kiểm định cho thấy p_value > 0.05, chưa đủ cơ sở thống kê bác bỏ giả thuyết H₀ hay với mức ý nghĩa 5%, tỷ lệ số học sinh hoàn thành khóa luyện thi trong tổng số học sinh không vượt quá 40%.