Bài tập về nhà tuần 5

5.1 Xem nội dung bên trong của các biến

# Gọi bộ dữ liệu
library(AER)
## Loading required package: car
## Loading required package: carData
## Loading required package: lmtest
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Loading required package: sandwich
## Loading required package: survival
data(CASchools)
# Xem nội dung của biến Teachers
gv <- unique(CASchools$teachers)
# Xem 10 dòng đầu của biến Teachers
head(gv, 10)
##  [1]  10.90  11.15  82.90  14.00  71.50   6.40  10.00  42.50  19.00 108.00
# Xem 10 dòng cuối của biến Teachers
tail(gv, 10)
##  [1]  32.87  98.42  87.06  12.33  44.59 124.09  59.73 208.48  20.15  93.40
# Xem 4 dòng ở giữa của biến Teachers
CASchools$teachers[(length(CASchools$teachers)/2 - 2):(length(CASchools$teachers)/2 + 1)]
## [1] 150.00 107.21   6.05  61.99
# Gán lệnh unique(CASchools$school) vào sc
sc <- unique(CASchools$school)
# Xem 6 dòng đầu tiên của biến School
head(sc, 6)
## [1] "Sunol Glen Unified"              "Manzanita Elementary"           
## [3] "Thermalito Union Elementary"     "Golden Feather Union Elementary"
## [5] "Palermo Union Elementary"        "Burrel Union Elementary"
# Xem 10 dòng cuối của biến School
tail(sc, 10)
##  [1] "Orinda Union Elementary"      "Hillsborough City Elementary"
##  [3] "Cold Spring Elementary"       "Portola Valley Elementary"   
##  [5] "Saratoga Union Elementary"    "Las Lomitas Elementary"      
##  [7] "Los Altos Elementary"         "Somis Union Elementary"      
##  [9] "Plumas Elementary"            "Wheatland Elementary"
# Xem nội dung 6 dòng ở giữa của biến Schools

CASchools$school[(length(CASchools$school)/2 - 2):(length(CASchools$school)/2 + 3)]
## [1] "Rosemead Elementary"         "Grass Valley Elementary"    
## [3] "Buena Vista Elementary"      "Kernville Union Elementary" 
## [5] "Galt Joint Union Elementary" "Southside Elementary"
# Xem danh sách các biến trong bộ dữ liệu CASchools
names(CASchools)
##  [1] "district"    "school"      "county"      "grades"      "students"   
##  [6] "teachers"    "calworks"    "lunch"       "computer"    "expenditure"
## [11] "income"      "english"     "read"        "math"
# Sử dụng hàm summary để xem thống kê mô tả của biến expenditure
summary(CASchools$expenditure)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    3926    4906    5215    5312    5601    7712
# Sắp xếp dữ liệu và hiển thị một số mẫu đầu tiên
head(sort(CASchools$expenditure))
## [1] 3926.070 4016.416 4023.532 4079.129 4136.251 4138.306

Lệnh này sẽ sắp xếp các giá trị chi tiêu cho mỗi học sinh trong bộ dữ liệu “CASchools” theo thứ tự tăng dần, sau đó hiển thị một số mẫu đầu tiên trong danh sách đã sắp xếp.

5.2 Xem biến nào là biến định tính, biến định lượng

5.2.0 Sử dụng hàm str để xem thông tin về các biến trong bộ dữ liệu

str(CASchools)
## 'data.frame':    420 obs. of  14 variables:
##  $ district   : chr  "75119" "61499" "61549" "61457" ...
##  $ school     : chr  "Sunol Glen Unified" "Manzanita Elementary" "Thermalito Union Elementary" "Golden Feather Union Elementary" ...
##  $ county     : Factor w/ 45 levels "Alameda","Butte",..: 1 2 2 2 2 6 29 11 6 25 ...
##  $ grades     : Factor w/ 2 levels "KK-06","KK-08": 2 2 2 2 2 2 2 2 2 1 ...
##  $ students   : num  195 240 1550 243 1335 ...
##  $ teachers   : num  10.9 11.1 82.9 14 71.5 ...
##  $ calworks   : num  0.51 15.42 55.03 36.48 33.11 ...
##  $ lunch      : num  2.04 47.92 76.32 77.05 78.43 ...
##  $ computer   : num  67 101 169 85 171 25 28 66 35 0 ...
##  $ expenditure: num  6385 5099 5502 7102 5236 ...
##  $ income     : num  22.69 9.82 8.98 8.98 9.08 ...
##  $ english    : num  0 4.58 30 0 13.86 ...
##  $ read       : num  692 660 636 652 642 ...
##  $ math       : num  690 662 651 644 640 ...

Hàm trên sẽ hiển thị thông tin về các biến trong bộ dữ liệu CASchools, bao gồm tên biến, loại dữ liệu và một số giá trị mẫu. Ta có thể xem đâu là biến có loại dữ liệu định tính chr (character) và đâu là biến có loại dữ liệu định lượng num (numeric)

5.2.1 Sử dụng hàm class để xem 1 biến là biến định tính hay biến định lượng

# Sử dụng hàm class để xem biến math
class(CASchools$math)
## [1] "numeric"

Kết quả trả về là numeric, đây là biến định lượng

# Sử dụng hàm class để xem biến district
class(CASchools$district)
## [1] "character"

Kết quả trả về là character, đây là biến định tính

5.2.2 Sử dụng hàm sapply để xác định loại dữ liệu của từng biến

sapply(CASchools, class)
##    district      school      county      grades    students    teachers 
## "character" "character"    "factor"    "factor"   "numeric"   "numeric" 
##    calworks       lunch    computer expenditure      income     english 
##   "numeric"   "numeric"   "numeric"   "numeric"   "numeric"   "numeric" 
##        read        math 
##   "numeric"   "numeric"

5.3 Vẽ biểu đồ

5.3.0 Biểu đồ Pie chart

Được sử dụng để biểu diễn tỷ lệ phần trăm của các biến định tính

# Vẽ biểu đồ pie chart của biến district
library(ggplot2)
ggplot(CASchools, aes(x = "", fill = district)) +
  geom_bar(width = 1) +
  coord_polar("y", start = 0) +
  theme_void()

Ý nghĩa của biểu đồ hình tròn là hiển thị tỷ lệ phần trăm của các giá trị khác nhau của biến district trong bộ dữ liệu. Mỗi phần trăm được biểu diễn bằng một phần trong đồ tròn, và màu sắc của mỗi phần tương ứng với giá trị của district.

5.3.1 Biểu đồ tương quan (Correlation plot)

Được sử dụng để hiển thị mức độ tương quan giữa các biến định lượng

# Cài đặt các gói cần thiết
options(repos = "https://cran.rstudio.com/")
install.packages("corrplot")
## Installing package into 'C:/Users/Heckler Koch/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'corrplot' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\Heckler Koch\AppData\Local\Temp\RtmpaO4xl0\downloaded_packages
library(ggplot2)
update.packages("corrplot")
library(corrplot)
## corrplot 0.92 loaded
# Vẽ biểu đồ tương quan giữa các biến  students,expenditure,calworks,lunch
tq <- CASchools[c("students", "expenditure", "calworks","lunch")]
bieudo <- cor(tq)
corrplot(bieudo, method = "circle")

5.3.2 Biểu đồ Histogram

Biểu đồ histogram là một công cụ phân tích dữ liệu thường được sử dụng để hiển thị phân phối tần suất của một biến số.

# vẽ biểu đồ histogram cho biến income trong bộ dữ liệu CASchools
library(ggplot2)
ggplot(CASchools, aes(x = income)) +
  geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

5.4 Phân tích hồi quy tuyến tính với bộ dữ liệu CASchools

Phân tích mối quan hệ giữa số lượng học sinh và kinh phí giáo dục.Ta có thể coi biến students là biến phụ thuộc và biến expenditure là biến độc lập. Mục tiêu của phân tích hồi quy tuyến tính là xem liệu có mối tương quan và ảnh hưởng giữa kinh phí giáo dục và số lượng học sinh trong các trường học.

# Sử dụng hàm lm để phân tích hồi quy
sm <- lm(students ~ expenditure, data = CASchools)
summary(sm)
## 
## Call:
## lm(formula = students ~ expenditure, data = CASchools)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3433.7 -2192.7 -1398.1   325.6 24929.8 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 6310.8178  1605.0426   3.932 9.86e-05 ***
## expenditure   -0.6931     0.3000  -2.310   0.0214 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3893 on 418 degrees of freedom
## Multiple R-squared:  0.01261,    Adjusted R-squared:  0.01025 
## F-statistic: 5.337 on 1 and 418 DF,  p-value: 0.02136

Dựa vào kết quả chạy ta thấy:

Residuals: Mô tả về các giá trị dư thừa (residuals) của mô hình, bao gồm giá trị tối thiểu Min = -3433.7, phân vị thứ nhất (1Q)= -2192.7, trung vị (Median)= -1398.1, phân vị thứ ba (3Q)= 325.6 và giá trị tối đa (Max)= 24929.8

Coefficients: Hiển thị các hệ số ước lượng trong mô hình

Ước lượng hệ số (Estimate):

  • Intercept: 6310.8178
  • expenditure: -0.6931

Độ lệch chuẩn của ước lượng (Standard Error):

  • Intercept: 1605.0426
  • expenditure: 0.3000

Giá trị t (t value):

  • Intercept: 3.932
  • expenditure: -2.310

Giá trị p (Pr(>|t|)):

  • Intercept: 9.86e-05 (rất thấp, cho thấy sự tương quan có ý nghĩa đáng kể)
  • expenditure: 0.0214 (thấp, cho thấy sự tương quan có ý nghĩa đáng kể)

Độ lỗi chuẩn của dư thừa (Residual standard error): 3893

  • R-quadrat (Multiple R-squared): 0.01261 (cho biết mức độ giải thích của mô hình)

  • R-quadrat đã điều chỉnh (Adjusted R-squared): 0.01025 (đã điều chỉnh dựa trên số lượng biến trong mô hình)

  • Giá trị F (F-statistic): 5.337 (để kiểm tra toàn bộ mô hình)

  • Giá trị p của F (p-value): 0.02136 (thấp, cho thấy mô hình có ý nghĩa đáng kể)

Bài tập về nhà tuần 4

#Gọi package AER và bộ dữ liệu CASchools
library(AER)
data(CASchools)

4.1 So sánh trung bình giữa các nhóm

4.1.1 So sánh trung bình số học sinh giữa các quận

tapply(CASchools$students, CASchools$county, mean)
##         Alameda           Butte       Calaveras    Contra Costa       El Dorado 
##        195.0000       1152.5000        777.0000       2725.8571       1372.9000 
##          Fresno           Glenn        Humboldt        Imperial            Inyo 
##        504.4167        137.6667        379.7059       1936.0000       1510.0000 
##            Kern           Kings            Lake          Lassen     Los Angeles 
##       3108.3333       1507.4444        445.0000        565.2000       5830.9259 
##          Madera           Marin       Mendocino          Merced        Monterey 
##       1021.8000       1642.8750        337.0000       2112.0000       3549.4286 
##          Nevada          Orange          Placer       Riverside      Sacramento 
##        951.0000       8223.9091       1880.8182       2848.5000       3511.4286 
##      San Benito  San Bernardino       San Diego     San Joaquin San Luis Obispo 
##       2146.6667       6469.7000       6170.2857        366.0000        217.5000 
##       San Mateo   Santa Barbara     Santa Clara      Santa Cruz          Shasta 
##       3289.2353       2409.2727       5931.9000       1184.5714        936.7692 
##        Siskiyou          Sonoma      Stanislaus          Sutter          Tehama 
##        430.2222        984.0000       3006.0000        259.1667        859.1250 
##         Trinity          Tulare        Tuolumne         Ventura            Yuba 
##        294.0000        898.9583        652.1667       4627.7778        939.5000

4.1.2 So sánh trung bình kinh phí giáo dục giữa các quận

tapply(CASchools$expenditure, CASchools$county, mean)
##         Alameda           Butte       Calaveras    Contra Costa       El Dorado 
##        6384.911        5776.724        5482.677        5269.445        5309.967 
##          Fresno           Glenn        Humboldt        Imperial            Inyo 
##        5396.978        4363.346        5449.528        5036.141        5189.628 
##            Kern           Kings            Lake          Lassen     Los Angeles 
##        5165.863        5267.910        5762.261        4944.442        5055.672 
##          Madera           Marin       Mendocino          Merced        Monterey 
##        5587.214        6158.656        6089.911        5227.237        5171.937 
##          Nevada          Orange          Placer       Riverside      Sacramento 
##        5560.375        4980.176        5026.351        4904.150        5212.460 
##      San Benito  San Bernardino       San Diego     San Joaquin San Luis Obispo 
##        5137.167        5015.355        5412.878        4885.268        5058.711 
##       San Mateo   Santa Barbara     Santa Clara      Santa Cruz          Shasta 
##        5715.444        5307.868        5560.497        5889.167        5479.120 
##        Siskiyou          Sonoma      Stanislaus          Sutter          Tehama 
##        6241.181        5660.046        4855.546        4613.043        5008.996 
##         Trinity          Tulare        Tuolumne         Ventura            Yuba 
##        5827.908        4852.233        5408.842        4964.327        5384.865

4.2 Vẽ biểu đồ phân phối

# Biểu đồ phân phối số học sinh
hist(CASchools$students, xlab = "Số lượng học sinh trong trường", main = "Phân phối số học sinh")

# Biểu đồ phân phối kinh phí giáo dục
hist(CASchools$expenditure, xlab = "Kinh phí giáo dục của trường", main = "Phân phối kinh phí giáo dục")

4.3 Phân tích hồi quy trong bộ dữ liệu CASchools

Để phân tích hồi quy dữ liệu trong bộ dữ liệu CASchools từ gói AER trong R, ta sử dụng hàm lm() để thực hiện mô hình hồi quy.

# Phân tích hồi quy với biến phụ thuộc là "students" (Số lượng học sinh trong trường) và biến độc lập là "teachers" (số lượng giáo viên):

lm(students ~ teachers, data = CASchools)
## 
## Call:
## lm(formula = students ~ teachers, data = CASchools)
## 
## Coefficients:
## (Intercept)     teachers  
##      -51.16        20.76
# Gán hàm lm(students ~ teachers, data = CASchools) vào us
us <- lm(students ~ teachers, data = CASchools)
# Tóm tắt mô hình hồi quy
summary(us)
## 
## Call:
## lm(formula = students ~ teachers, data = CASchools)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2444.60   -65.53    10.21    55.35  1878.92 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -51.1628    17.6074  -2.906  0.00386 ** 
## teachers     20.7640     0.0773 268.620  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 297.3 on 418 degrees of freedom
## Multiple R-squared:  0.9942, Adjusted R-squared:  0.9942 
## F-statistic: 7.216e+04 on 1 and 418 DF,  p-value: < 2.2e-16

4.4 Đồ thị scatter plots

# Tải gói dữ liệu
library(ggplot2)
library(AER)

4.4.1 Đồ thị scatter plots đa biến của biến students và teachers

# Tạo ma trận biểu đồ phân tán
ggplot(CASchools, aes(x = students, y = teachers)) +
  geom_point(aes(color = expenditure)) +
  labs(x = "Số lượng học sinh trong trường", y = "Số lượng giáo viên") +
  geom_smooth(method = "lm", se = FALSE)
## `geom_smooth()` using formula = 'y ~ x'

Qua đồ thị, chúng ta có thể quan sát mẫu mực chung về quan hệ giữa số lượng học sinh và số lượng giáo viên trong các trường học. Nếu có sự tương quan dương mạnh, chúng ta có thể thấy rằng các trường học có số lượng học sinh cao thường có số lượng giáo viên tương đối cao và ngược lại. Điều này có thể cho thấy một sự phụ thuộc giữa số lượng học sinh và số lượng giáo viên trong hệ thống giáo dục.

4.1.2 Đồ thị scatter plots đa biến của biến expenditure và income

ggplot(CASchools, aes(x = expenditure, y = income)) +
  geom_point(aes(color = expenditure)) +
  labs(x = "Chi tiêu cho mỗi học sinh", y = "Thu nhập trung bình của quận") +
  geom_smooth(method = "lm", se = FALSE)
## `geom_smooth()` using formula = 'y ~ x'

Qua đồ thị, chúng ta có thể quan sát mẫu mực chung về quan hệ giữa chi tiêu cho mỗi học sinh và thu nhập trung bình của quận. Nếu có sự tương quan dương, chúng ta có thể thấy rằng các trường học có chi tiêu cho học sinh cao thường có thu nhập trung bình trong khu vực tương đối cao và ngược lại. Điều này có thể cho thấy một mối quan hệ giữa kinh phí giáo dục và thu nhập trung bình trong khu vực trong hệ thống giáo dục.

Bài tập về nhà tuần 3

3.1 Lệnh pivot_longer

dùng để chuyển đổi dữ liệu từ dạng rộng (wide) sang dạng dài (long)

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:car':
## 
##     recode
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
library(AER)
data("CASchools")
# Chuyển đổi dữ liệu từ dạng rộng sang dạng dài
long <- CASchools %>%
  pivot_longer(cols = c(income, expenditure, students),
               names_to = "variable",
               values_to = "value")
# Hiển thị kết quả
head(long)
## # A tibble: 6 × 13
##   district school   county grades teachers calworks lunch computer english  read
##   <chr>    <chr>    <fct>  <fct>     <dbl>    <dbl> <dbl>    <dbl>   <dbl> <dbl>
## 1 75119    Sunol G… Alame… KK-08      10.9    0.510  2.04       67    0     692.
## 2 75119    Sunol G… Alame… KK-08      10.9    0.510  2.04       67    0     692.
## 3 75119    Sunol G… Alame… KK-08      10.9    0.510  2.04       67    0     692.
## 4 61499    Manzani… Butte  KK-08      11.1   15.4   47.9       101    4.58  660.
## 5 61499    Manzani… Butte  KK-08      11.1   15.4   47.9       101    4.58  660.
## 6 61499    Manzani… Butte  KK-08      11.1   15.4   47.9       101    4.58  660.
## # ℹ 3 more variables: math <dbl>, variable <chr>, value <dbl>

3.2 Kiểm định sự tương quan

3.2.1 Tương quan giữa students (số lượng học sinh) và teachers (số lượng giáo viên)

data(CASchools)
correlation <- cor(CASchools$students, CASchools$teachers)
print(correlation)
## [1] 0.9971161
  • Kết quả kiểm định tương quan giữa số lượng học sinh (students) và số lượng giáo viên (teachers) là 0.9971161. Giá trị tương quan này gần bằng 1, cho thấy có một mối quan hệ dương rất mạnh giữa số lượng học sinh và số lượng giáo viên trong bộ dữ liệu CASchools.

  • Ý nghĩa của giá trị tương quan này là khi số lượng học sinh tăng, số lượng giáo viên cũng có xu hướng tăng theo và ngược lại. Kết quả này hợp lý với nhận thức chung rằng các trường học thường cần có đủ giáo viên để đảm bảo chất lượng giảng dạy cho số lượng học sinh tăng lên.

3.2.2 Tương quan giữa calworks (tỷ lệ học sinh nhận trợ cấp ) và lunch (tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí):

correlation <- cor(CASchools$calworks, CASchools$lunch)
print(correlation)
## [1] 0.7394218
  • Kết quả kiểm định tương quan giữa calworks (tỷ lệ học sinh nhận trợ cấp ) và lunch (tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí) là 0.7394218. Giá trị tương quan này có giá trị dương mạnh, cho thấy có một mối quan hệ đáng kể giữa tỷ lệ học sinh nhận trợ cấp và tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí trong bộ dữ liệu CASchools.

  • Ý nghĩa của giá trị tương quan này là khi tỷ lệ học sinh nhận trợ cấp calworks tăng, tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí cũng có xu hướng tăng theo và ngược lại. Điều này có thể chỉ ra rằng các trường học có tỷ lệ cao hơn của học sinh nhận trợ cấp CalWORKs cũng có xu hướng có tỷ lệ cao hơn của học sinh tham gia chương trình bữa trưa miễn phí.

3.2.3 Tương quan giữa expenditure (kinh phí giáo dục) và income (thu nhập trung bình trong khu vực):

correlation <- cor(CASchools$expenditure, CASchools$income)
print(correlation)
## [1] 0.3144845
  • Kết quả kiểm định tương quan giữa kinh phí giáo dục (expenditure) và thu nhập trung bình trong khu vực (income) là 0.3144845. Giá trị tương quan này cho thấy có một mối quan hệ tương đối yếu giữa kinh phí giáo dục và thu nhập trung bình trong khu vực trong bộ dữ liệu CASchools.

  • Ý nghĩa của giá trị tương quan này là có một mức độ tương quan nhất định giữa kinh phí giáo dục và thu nhập trung bình trong khu vực, tuy nhiên mối quan hệ này không mạnh. Điều này có thể chỉ ra rằng trong bộ dữ liệu CASchools, mức độ tăng/giảm kinh phí giáo dục không thể giải thích bởi mức độ tăng/giảm thu nhập trung bình trong khu vực.

3.3 Phân tích dữ liệu data CASchools

3.3.1 Tính các thống kê mô tả

summary(CASchools[c("students", "teachers", "expenditure", "income")])
##     students          teachers        expenditure       income      
##  Min.   :   81.0   Min.   :   4.85   Min.   :3926   Min.   : 5.335  
##  1st Qu.:  379.0   1st Qu.:  19.66   1st Qu.:4906   1st Qu.:10.639  
##  Median :  950.5   Median :  48.56   Median :5215   Median :13.728  
##  Mean   : 2628.8   Mean   : 129.07   Mean   :5312   Mean   :15.317  
##  3rd Qu.: 3008.0   3rd Qu.: 146.35   3rd Qu.:5601   3rd Qu.:17.629  
##  Max.   :27176.0   Max.   :1429.00   Max.   :7712   Max.   :55.328

3.3.2 Tính ma trận tương quan cho các biến số

cor_matrix <- cor(CASchools[c("students", "teachers", "expenditure", "income")])
cor_matrix
##                students    teachers expenditure     income
## students     1.00000000  0.99711606 -0.11228455 0.02839221
## teachers     0.99711606  1.00000000 -0.09519483 0.04300655
## expenditure -0.11228455 -0.09519483  1.00000000 0.31448448
## income       0.02839221  0.04300655  0.31448448 1.00000000

3.3.3 Vẽ biểu đồ tương quan giữa các biến

3.3.3.1 Biểu đồ tương quan giữa 2 biến students và teachers

plot(CASchools$students, CASchools$teachers, xlab = "Số lượng học sinh trong trường", ylab = "Số lượng giáo viên")

3.3.3.2 Biểu đồ tương quan giữa 2 biến calworks và lunch

plot(CASchools$calworks, CASchools$lunch, xlab = "Tỷ lệ học sinh nhận trợ cấp", ylab = "Tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí")

Bài tập về nhà tuần 2

2.Giới thiệu

Bộ dữ liệu chứa dữ liệu về hiệu suất kiểm tra, đặc điểm của trường học và nền tảng nhân khẩu học của học sinh cho các học khu ở California.

Khung dữ liệu chứa 240 quan sát và 14 biến. Gồm :

  • Distric: Tên quận chứa trường học
  • School: Tên trường
  • County: Tên hạt chứa trường học
  • Grades: Cấp học của trường học.
  • Students: Số lượng học sinh trong trường
  • Teachers: Số lượng giáo viên
  • Calworks: Tỷ lệ học sinh nhận trợ cấp
  • Lunch: Tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí
  • Computer: Số lượng máy tính trên học sinh
  • Expenditure: Kinh phí giáo dục của trường
  • Income: Thu nhập trung bình trong khu vực, tính theo 1000 USD
  • English: Điểm trung bình môn tiếng anh trong trường
  • Read: Điểm đọc trung bình
  • Math: Điểm trung bình môn toán

2.1 Gọi tệp dữ liệu

library(AER)
# Tải tệp dữ liệu CASchools
data("CASchools")

# Gán dữ liệu CASchools vào cas
cas <- CASchools

2.2 Lập bảng tần số cho biến county

table(cas$county)
## 
##         Alameda           Butte       Calaveras    Contra Costa       El Dorado 
##               1               6               1               7              10 
##          Fresno           Glenn        Humboldt        Imperial            Inyo 
##              12               3              17               6               1 
##            Kern           Kings            Lake          Lassen     Los Angeles 
##              27               9               2               5              27 
##          Madera           Marin       Mendocino          Merced        Monterey 
##               5               8               1              11               7 
##          Nevada          Orange          Placer       Riverside      Sacramento 
##               9              11              11               4               7 
##      San Benito  San Bernardino       San Diego     San Joaquin San Luis Obispo 
##               3              10              21               6               2 
##       San Mateo   Santa Barbara     Santa Clara      Santa Cruz          Shasta 
##              17              11              20               7              13 
##        Siskiyou          Sonoma      Stanislaus          Sutter          Tehama 
##               9              29               7               6               8 
##         Trinity          Tulare        Tuolumne         Ventura            Yuba 
##               2              24               6               9               2

Từ kết quả trên ta thấy số lần xuất hiện của mỗi giá trị của biến “county” trong bộ dữ liệu. Cụ thể, nó cho biết số lượng trường học trong mỗi hạt (county) và số lượng trường học tương ứng với mỗi hạt. Ví dụ,Alameda có 1 trường học, Butte có 6 trường học, Calaveras có 1 trường học , các chỉ số còn lại tương tự

# Cấu trúc cơ bản của bộ dữ liệu gồm số lượng quan sát và giá trị
str(cas)
## 'data.frame':    420 obs. of  14 variables:
##  $ district   : chr  "75119" "61499" "61549" "61457" ...
##  $ school     : chr  "Sunol Glen Unified" "Manzanita Elementary" "Thermalito Union Elementary" "Golden Feather Union Elementary" ...
##  $ county     : Factor w/ 45 levels "Alameda","Butte",..: 1 2 2 2 2 6 29 11 6 25 ...
##  $ grades     : Factor w/ 2 levels "KK-06","KK-08": 2 2 2 2 2 2 2 2 2 1 ...
##  $ students   : num  195 240 1550 243 1335 ...
##  $ teachers   : num  10.9 11.1 82.9 14 71.5 ...
##  $ calworks   : num  0.51 15.42 55.03 36.48 33.11 ...
##  $ lunch      : num  2.04 47.92 76.32 77.05 78.43 ...
##  $ computer   : num  67 101 169 85 171 25 28 66 35 0 ...
##  $ expenditure: num  6385 5099 5502 7102 5236 ...
##  $ income     : num  22.69 9.82 8.98 8.98 9.08 ...
##  $ english    : num  0 4.58 30 0 13.86 ...
##  $ read       : num  692 660 636 652 642 ...
##  $ math       : num  690 662 651 644 640 ...
# Tập hợp các biến số vào vas
vas <- setdiff(names(cas),c("district","school","county","grades","read","math"))
# Mức độ chi tiêu cho mỗi học sinh khác nhau
round(t(psych::describe(cas$expenditure)), 1)
##              X1
## vars        1.0
## n         420.0
## mean     5312.4
## sd        633.9
## median   5214.5
## trimmed  5252.9
## mad       487.2
## min      3926.1
## max      7711.5
## range    3785.4
## skew        1.1
## kurtosis    1.9
## se         30.9
# Biểu đồ mức độ chi tiêu cho mỗi học sinh khác nhau
library(ggplot2)
qplot(expenditure, data = cas) + xlim(0, 8000) + xlab("Số tiền chi tiêu cho mỗi học sinh ($)") + ylab("Số lượng trường học")
## Warning: `qplot()` was deprecated in ggplot2 3.4.0.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 2 rows containing missing values (`geom_bar()`).

2.3 Tính toán và định dạng độ tương quan

corExp <- cor(cas["expenditure"], cas[setdiff(vas,"expenditure")])
corExp <- round(t(corExp), 2)
corExp[order(corExp[, 1], decreasing = TRUE), , drop = FALSE]
##          expenditure
## income          0.31
## calworks        0.07
## lunch          -0.06
## computer       -0.07
## english        -0.07
## teachers       -0.10
## students       -0.11

Từ kết quả ta thấy

  • income: Độ tương quan là 0.31. Có một mức tương quan dương vừa phải giữa thu nhập và chi tiêu. Điều này cho thấy rằng có một mối liên hệ tương đối giữa thu nhập và mức chi tiêu trong dữ liệu. Giá trị tương quan 0.31 cho thấy mức độ tương quan không mạnh mẽ, nhưng vẫn có một sự tương quan dương nhất định giữa hai biến.
  • Độ tương quan là 0.07. Có một mức tương quan dương nhỏ giữa sự tham gia vào chương trình CalWORKs (hỗ trợ tiền mặt cho gia đình có trẻ em) và mức chi tiêu. Tuy nhiên, giá trị tương quan này rất nhỏ, cho thấy mối liên hệ không mạnh mẽ giữa hai biến.
  • lunch: Độ tương quan là -0.06. Có một mức tương quan âm nhỏ giữa việc nhận bữa trưa miễn phí và mức chi tiêu. Giá trị tương quan này cũng rất nhỏ, cho thấy mối liên hệ không mạnh mẽ giữa hai biến.
  • computer: Độ tương quan là -0.07. Có một mức tương quan âm nhỏ giữa việc sở hữu máy tính và mức chi tiêu. Giá trị tương quan này cũng rất nhỏ, cho thấy mối liên hệ không mạnh mẽ giữa hai biến.
  • english: Độ tương quan là -0.07. Có một mức tương quan âm nhỏ giữa điểm môn tiếng Anh và mức chi tiêu. Giá trị tương quan này cũng rất nhỏ, cho thấy mối liên hệ không mạnh mẽ giữa hai biến.
  • teachers: Độ tương quan là -0.10. Có một mức tương quan âm nhỏ giữa số lượng giáo viên và mức chi tiêu. Giá trị tương quan này cũng rất nhỏ, cho thấy mối liên hệ không mạnh mẽ giữa hai biến.
  • Độ tương quan là -0.11. Có một mức tương quan âm nhỏ giữa số lượng học sinh và mức chi tiêu trong bộ dữ liệu CASchools. Giá trị tương quan âm cho thấy rằng khi số lượng học sinh tăng, mức chi tiêu trong trường học có xu hướng giảm đi một chút.
# Mối tương quan giữa tỷ lệ học sinh nhận trợ cấp và tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí
cor(CASchools$calworks, CASchools$lunch)
## [1] 0.7394218

Giá trị tương quan 0.7394218 cho thấy có một mối liên hệ dương mạnh giữa hai biến. Điều này có thể được hiểu như sau: Khi tỷ lệ % đủ điều kiện hỗ trợ thu nhập tăng, thì tỷ lệ bữa trưa cũng có xu hướng tăng, khi tỷ lệ % đủ điều kiện hỗ trợ thu nhập giảm, tỷ lệ bữa trưa cũng có xu hướng giảm. Mối tương quan này cho thấy có sự tương quan tích cực giữa hai biến này trong bộ dữ liệu CASchools.

2.4 Tóm tắt thống kê cho dữ liệu

summary(cas$math)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   605.4   639.4   652.5   653.3   665.9   709.5
  • Giá trị nhỏ nhất (Minimum): 605.4
  • Tứ phân vị thứ nhất (1st Quartile): 639.4
  • Giá trị trung vị (Median): 652.5
  • Giá trị trung bình (Mean): 653.3
  • Tứ phân vị thứ ba (3rd Quartile): 665.9
  • Giá trị lớn nhất (Maximum): 709.5

Ý nghĩa của các giá trị này là:

  • Giá trị nhỏ nhất (Minimum) là 605.4, đại diện cho điểm toán trung bình thấp nhất trong dữ liệu.
  • Tứ phân vị thứ nhất (1st Quartile) là 639.4, chỉ có 25% giá trị dưới giá trị này.
  • Giá trị trung vị (Median) là 652.5, chỉ có 50% giá trị nằm dưới giá trị này và 50% nằm trên giá trị này. Đây cũng có thể được hiểu là giá trị trung bình ở trung tâm của phân phối.
  • Giá trị trung bình (Mean) là 653.3, đại diện cho giá trị trung bình của biến read trong toàn bộ dữ liệu.
  • Tứ phân vị thứ ba (3rd Quartile) là 665.9, chỉ có 75% giá trị nằm dưới giá trị này.
  • Giá trị lớn nhất (Maximum) là 709.5, đại diện cho điểm toán trung bình cao nhất trong dữ liệu.
summary(cas$read)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   604.5   640.4   655.8   655.0   668.7   704.0
  • Giá trị nhỏ nhất (Minimum): 604.5
  • Tứ phân vị thứ nhất (1st Quartile): 640.4
  • Giá trị trung vị (Median): 655.8
  • Giá trị trung bình (Mean): 655.0
  • Tứ phân vị thứ ba (3rd Quartile): 668.7
  • Giá trị lớn nhất (Maximum): 704.0

Ý nghĩa của các giá trị này là:

  • Giá trị nhỏ nhất (Minimum) là 604.5, đại diện cho điểm đọc trung bình thấp nhất trong dữ liệu.
  • Tứ phân vị thứ nhất (1st Quartile) là 640.4, chỉ có 25% giá trị dưới giá trị này.
  • Giá trị trung vị (Median) là 655.8, chỉ có 50% giá trị nằm dưới giá trị này và 50% nằm trên giá trị này. Đây cũng có thể được hiểu là giá trị trung bình ở trung tâm của phân phối.
  • Giá trị trung bình (Mean) là 655.0, đại diện cho giá trị trung bình của biến read trong toàn bộ dữ liệu.
  • Tứ phân vị thứ ba (3rd Quartile) là 668.7, chỉ có 75% giá trị nằm dưới giá trị này.
  • Giá trị lớn nhất (Maximum) là 704.0, đại diện cho điểm đọc trung bình cao nhất trong dữ liệu.

Hàm tính trung bình

Trung bình điểm đọc

mean(cas$read)
## [1] 654.9705

Trung bình điểm toán

mean(cas$math)
## [1] 653.3426

Hàm lượng tử

quantile(cas$math,0.6)
##    60% 
## 657.78

Có 60 % điểm trung bình môn toán dưới 657.78

quantile(cas$read,0.35)
##     35% 
## 646.685

Có 35 % điểm đọc trung bình dưới 646.685

Hàm phương sai Var

var (cas$read)
## [1] 404.3309

Phương sai 404.3309 cho biết rằng các giá trị trong biến read của bộ dữ liệu CASchool có sự biến đổi lớn quanh giá trị trung bình. Điều này có thể cho thấy sự đa dạng và phân tán của khả năng đọc trong các học sinh trong bộ dữ liệu này

var (cas$math)
## [1] 351.7201

Phương sai 351.7201 cho biết rằng các giá trị trong biến math của bộ dữ liệu CASchool có sự biến đổi lớn quanh giá trị trung bình. Điều này có thể cho thấy sự đa dạng và phân tán của khả năng toán học trong các học sinh trong bộ dữ liệu này.

Vẽ đồ thị cho biến math

library(ggplot2)
library(AER)
data(CASchools)
ggplot(data = CASchools, aes(x = 1:nrow(CASchools), y = math)) +
  geom_line() +
  labs(x = "Index", y = "Điểm toán", title = "Đồ thị điểm toán trung bình")

Vẽ đồ thị cho biến read

plot(CASchools$read, type = "l", xlab = "Index", ylab = "Điểm đọc trung bình", main = "Đồ thị điểm đọc trung bình")

Bài tập về nhà tuần 1

1.Giới thiệu

Bộ dữ liệu chứa dữ liệu về hiệu suất kiểm tra, đặc điểm của trường học và nền tảng nhân khẩu học của học sinh cho các học khu ở California.

Khung dữ liệu chứa 240 quan sát và 14 biến. Gồm :

  • Distric: Tên quận chứa trường học
  • School: Tên trường
  • County: Tên hạt chứa trường học
  • Grades: Cấp học của trường học.
  • Students: Số lượng học sinh trong trường
  • Teachers: Số lượng giáo viên
  • Calworks: Tỷ lệ học sinh nhận trợ cấp
  • Lunch: Tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí
  • Computer: Số lượng máy tính trên học sinh
  • Expenditure: Kinh phí giáo dục của trường
  • Income: Thu nhập trung bình trong khu vực, tính theo 1000 USD
  • English: Điểm trung bình môn tiếng anh trong trường
  • Read: Điểm đọc trung bình
  • Math: Điểm trung bình môn toán

1.2 Trích xuất dữ liệu

Gọi thư viện package AER

Hiển thị cấu trúc bên trong của gói dữ liệu

data("CASchools")
str(CASchools)
## 'data.frame':    420 obs. of  14 variables:
##  $ district   : chr  "75119" "61499" "61549" "61457" ...
##  $ school     : chr  "Sunol Glen Unified" "Manzanita Elementary" "Thermalito Union Elementary" "Golden Feather Union Elementary" ...
##  $ county     : Factor w/ 45 levels "Alameda","Butte",..: 1 2 2 2 2 6 29 11 6 25 ...
##  $ grades     : Factor w/ 2 levels "KK-06","KK-08": 2 2 2 2 2 2 2 2 2 1 ...
##  $ students   : num  195 240 1550 243 1335 ...
##  $ teachers   : num  10.9 11.1 82.9 14 71.5 ...
##  $ calworks   : num  0.51 15.42 55.03 36.48 33.11 ...
##  $ lunch      : num  2.04 47.92 76.32 77.05 78.43 ...
##  $ computer   : num  67 101 169 85 171 25 28 66 35 0 ...
##  $ expenditure: num  6385 5099 5502 7102 5236 ...
##  $ income     : num  22.69 9.82 8.98 8.98 9.08 ...
##  $ english    : num  0 4.58 30 0 13.86 ...
##  $ read       : num  692 660 636 652 642 ...
##  $ math       : num  690 662 651 644 640 ...

1.3 Mô tả dữ liệu

summary(CASchools)
##    district            school                  county      grades   
##  Length:420         Length:420         Sonoma     : 29   KK-06: 61  
##  Class :character   Class :character   Kern       : 27   KK-08:359  
##  Mode  :character   Mode  :character   Los Angeles: 27              
##                                        Tulare     : 24              
##                                        San Diego  : 21              
##                                        Santa Clara: 20              
##                                        (Other)    :272              
##     students          teachers          calworks          lunch       
##  Min.   :   81.0   Min.   :   4.85   Min.   : 0.000   Min.   :  0.00  
##  1st Qu.:  379.0   1st Qu.:  19.66   1st Qu.: 4.395   1st Qu.: 23.28  
##  Median :  950.5   Median :  48.56   Median :10.520   Median : 41.75  
##  Mean   : 2628.8   Mean   : 129.07   Mean   :13.246   Mean   : 44.71  
##  3rd Qu.: 3008.0   3rd Qu.: 146.35   3rd Qu.:18.981   3rd Qu.: 66.86  
##  Max.   :27176.0   Max.   :1429.00   Max.   :78.994   Max.   :100.00  
##                                                                       
##     computer       expenditure       income          english      
##  Min.   :   0.0   Min.   :3926   Min.   : 5.335   Min.   : 0.000  
##  1st Qu.:  46.0   1st Qu.:4906   1st Qu.:10.639   1st Qu.: 1.941  
##  Median : 117.5   Median :5215   Median :13.728   Median : 8.778  
##  Mean   : 303.4   Mean   :5312   Mean   :15.317   Mean   :15.768  
##  3rd Qu.: 375.2   3rd Qu.:5601   3rd Qu.:17.629   3rd Qu.:22.970  
##  Max.   :3324.0   Max.   :7712   Max.   :55.328   Max.   :85.540  
##                                                                   
##       read            math      
##  Min.   :604.5   Min.   :605.4  
##  1st Qu.:640.4   1st Qu.:639.4  
##  Median :655.8   Median :652.5  
##  Mean   :655.0   Mean   :653.3  
##  3rd Qu.:668.7   3rd Qu.:665.9  
##  Max.   :704.0   Max.   :709.5  
## 

Trong 420 quan sát :

students : Số lượng học sinh trong trường

  • Số lượng học sinh trong trường thấp nhất là 81
  • Số lượng học sinh trong trường trung bình là 950
  • Số lượng học sinh trong trường cao nhất là 27176

teachers : Số lượng giáo viên

  • số giáo viên thấp nhất là 4.85
  • số giáo viên trung bình là 48.56
  • số giáo viên cao nhất là 1429

calworks : Tỷ lệ học sinh nhận trợ cấp

  • Tỷ lệ học sinh nhận trợ cấp thấp nhất là 0
  • Tỷ lệ học sinh nhận trợ cấp trung bình là 10.520
  • Tỷ lệ học sinh nhận trợ cấp cao nhất là 78.994

lunch : Tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí

  • Tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí thấp nhất là 0
  • Tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí trung bình là 41.75
  • Tỷ lệ học sinh tham gia chương trình bữa trưa miễn phí cao nhất là 100

computer : Số lượng máy tính

  • số lượng máy tính thấp nhất là 0
  • số lượng máy tính trung bình là 117.5
  • số lượng máy tính cao nhất là 3324

expenditure : Kinh phí giáo dục của trường

  • Kinh phí giáo dục của trường thấp nhất là 3926
  • Kinh phí giáo dục của trường trung bình là 5215
  • Kinh phí giáo dục của trường cao nhất là 7712

income : Thu nhập trung bình trong khu vực, tính theo 1000 USD - Thu nhập trung bình trong khu vực thấp nhất là 5.335 - Thu nhập trung bình trong khu vực trung bình là 13.728 - Thu nhập trung bình trong khu vực cao nhất là 55.328

english : Điểm trung bình môn tiếng anh trong trường

  • Điểm trung bình môn tiếng anh trong trường thấp nhất là 0
  • Điểm trung bình môn tiếng anh trong trường trung bình là 8.778
  • Điểm trung bình môn tiếng anh trong trường cao nhất là 85.540

read : Điểm đọc trung bình

  • điểm đọc trung bình thấp nhất là 604.5
  • điểm đọc trung bình là 655.8
  • điểm đọc trung bình cao nhất là 704.0

math : Điểm trung bình môn toán

  • điểm trung bình môn toán thấp nhất là 605.4
  • điểm trung bình môn toán trung bình là 652.5
  • điểm trung bình môn toán cao nhất là 709.5
# Gán tên mới là từ viết tắt cho các biến trong CASchools

names(CASchools) <- c("dis","sch","cou","gra","stu","tea","cal","lun","com","exp","inc","eng","rea","mat")
# Lấy 4 dòng đầu tiên của bảng dữ liệu
head(CASchools,4)
##     dis                             sch     cou   gra  stu   tea     cal
## 1 75119              Sunol Glen Unified Alameda KK-08  195 10.90  0.5102
## 2 61499            Manzanita Elementary   Butte KK-08  240 11.15 15.4167
## 3 61549     Thermalito Union Elementary   Butte KK-08 1550 82.90 55.0323
## 4 61457 Golden Feather Union Elementary   Butte KK-08  243 14.00 36.4754
##       lun com      exp    inc       eng   rea   mat
## 1  2.0408  67 6384.911 22.690  0.000000 691.6 690.0
## 2 47.9167 101 5099.381  9.824  4.583333 660.5 661.9
## 3 76.3226 169 5501.955  8.978 30.000002 636.3 650.9
## 4 77.0492  85 7101.831  8.978  0.000000 651.9 643.5
# Lấy 4 dòng cuối của bảng dữ liệu
tail(CASchools,4)
##       dis                    sch         cou   gra  stu    tea     cal     lun
## 417 69518   Los Altos Elementary Santa Clara KK-08 3724 208.48  1.0741  1.5038
## 418 72611 Somis Union Elementary     Ventura KK-08  441  20.15  3.5635 37.1938
## 419 72744      Plumas Elementary        Yuba KK-08  101   5.00 11.8812 59.4059
## 420 72751   Wheatland Elementary        Yuba KK-08 1778  93.40  6.9235 47.5712
##     com      exp      inc       eng   rea   mat
## 417 721 5741.463 41.73411  4.726101 704.0 709.5
## 418  45 4402.832 23.73300 24.263039 648.3 641.7
## 419  14 4776.336  9.95200  2.970297 667.9 676.5
## 420 313 5993.393 12.50200  5.005624 660.5 651.0
# Gán biến mat trong bộ dữ liệu CASchools vào bn
bn <- CASchools$mat

# Phân tổ dữ liệu cho biến math, phân thành 5 tổ
cut(bn,5)
##   [1] (689,710] (647,668] (647,668] (626,647] (626,647] (605,626] (605,626]
##   [8] (605,626] (605,626] (605,626] (605,626] (605,626] (605,626] (605,626]
##  [15] (605,626] (605,626] (605,626] (605,626] (605,626] (605,626] (605,626]
##  [22] (605,626] (605,626] (605,626] (605,626] (605,626] (605,626] (626,647]
##  [29] (626,647] (605,626] (626,647] (626,647] (626,647] (605,626] (626,647]
##  [36] (626,647] (626,647] (605,626] (626,647] (626,647] (626,647] (626,647]
##  [43] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
##  [50] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
##  [57] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
##  [64] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
##  [71] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
##  [78] (605,626] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
##  [85] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
##  [92] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
##  [99] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
## [106] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
## [113] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
## [120] (626,647] (626,647] (647,668] (626,647] (626,647] (626,647] (626,647]
## [127] (647,668] (647,668] (626,647] (626,647] (626,647] (647,668] (626,647]
## [134] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647] (626,647]
## [141] (626,647] (626,647] (647,668] (626,647] (626,647] (626,647] (626,647]
## [148] (647,668] (626,647] (626,647] (626,647] (647,668] (647,668] (626,647]
## [155] (626,647] (647,668] (647,668] (626,647] (647,668] (647,668] (626,647]
## [162] (626,647] (626,647] (647,668] (647,668] (647,668] (626,647] (647,668]
## [169] (647,668] (647,668] (626,647] (647,668] (647,668] (647,668] (626,647]
## [176] (626,647] (626,647] (647,668] (647,668] (626,647] (647,668] (647,668]
## [183] (647,668] (626,647] (647,668] (647,668] (647,668] (647,668] (647,668]
## [190] (647,668] (647,668] (647,668] (647,668] (647,668] (626,647] (647,668]
## [197] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [204] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [211] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [218] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [225] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [232] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [239] (626,647] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [246] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [253] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [260] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [267] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (668,689]
## [274] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [281] (647,668] (647,668] (647,668] (647,668] (647,668] (668,689] (668,689]
## [288] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [295] (647,668] (647,668] (647,668] (647,668] (647,668] (668,689] (647,668]
## [302] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668] (647,668]
## [309] (647,668] (647,668] (647,668] (668,689] (647,668] (647,668] (668,689]
## [316] (647,668] (647,668] (647,668] (647,668] (647,668] (668,689] (647,668]
## [323] (647,668] (668,689] (668,689] (647,668] (668,689] (668,689] (668,689]
## [330] (668,689] (668,689] (668,689] (647,668] (647,668] (668,689] (668,689]
## [337] (647,668] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689]
## [344] (668,689] (647,668] (647,668] (668,689] (668,689] (647,668] (668,689]
## [351] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689]
## [358] (647,668] (668,689] (668,689] (647,668] (668,689] (668,689] (668,689]
## [365] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689]
## [372] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689]
## [379] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689]
## [386] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689]
## [393] (668,689] (668,689] (668,689] (668,689] (668,689] (668,689] (689,710]
## [400] (668,689] (668,689] (668,689] (689,710] (689,710] (689,710] (689,710]
## [407] (689,710] (689,710] (689,710] (689,710] (689,710] (689,710] (689,710]
## [414] (689,710] (689,710] (689,710] (689,710] (626,647] (668,689] (647,668]
## Levels: (605,626] (626,647] (647,668] (668,689] (689,710]
# Lập bảng tần số cho biến math
table(cut(bn,5))
## 
## (605,626] (626,647] (647,668] (668,689] (689,710] 
##        26       132       168        77        17

Từ bảng tần số ta thấy số điểm (605,626) có 26 người đạt được, số điểm ( 626,647) có 132 người đạt được, số điểm (647,668) có 168 người đạt được, số điểm ( 668,689) có 77 người đạt được và số điểm ( 689,710) có 17 người đạt được.