BTVN: Tuần 1.

*BÀI TẬP VỀ NHÀ TUẦN 1

I. GIẢI THÍCH DỮ LIỆU

1. Dataset: “Parade2005” là 1 tập dữ liệu được thu thập ở Mỹ trong năm 2005 bởi tạp chí Parade. Tập dữ liệu này gồm 130 quan sát và 5 biến. Trong đó 5 biến là:

a. earnings: thu nhập cá nhân hàng năm.

b. age: tuổi của người được khảo sát.

c. gender: giới tính của người được khảo sát.

d. sate: tiểu bang của người được khảo sát.

e. celebrity: người được khảo sát có phải là người nổi tiếng? (yes/no).

II. THAO TÁC CƠ BẢN TRÊN DỮ LIỆU CẦN PHÂN TÍCH

1. Khai báo sử dụng package “AER” từ thư viện và sử dụng tập dữ liệu “Parade2005”. Sau đó cho hiển thị 6 quan sát đầu tiên của tập dữ liệu “Parade2005”

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("Parade2005")
head(Parade2005)
##   earnings age gender state celebrity
## 1    10000  26   male    ND        no
## 2 10000000  18 female    CA       yes
## 3    85000  39   male    NE        no
## 4    75000  50 female    NC        no
## 5    91500  61   male    DE        no
## 6    49500  39 female    SD        no

aa. Tiến hành tạo tập dữ liệu bản sao “Pa” từ tập dữ liệu “Parade2005” và đặt lại tên cho các biến trong đó

Pa <- Parade2005
names(Pa) <- c("ThuNhap","Tuoi","GioiTinh","Bang","NoiTieng")

bb. Truy vấn dữ liệu con: Chọn biến Thu Nhập, Tuổi, Giới Tính từ tập dữ liệu “Pa”

ThuNhap <- Pa$ThuNhap
Tuoi <- Pa$Tuoi
GioiTinh <- Pa$GioiTinh
x <- Pa[, c("ThuNhap","Tuoi","GioiTinh")]
str(x)
## 'data.frame':    130 obs. of  3 variables:
##  $ ThuNhap : num  10000 10000000 85000 75000 91500 49500 105000 30000 40000 23000 ...
##  $ Tuoi    : num  26 18 39 50 61 39 31 24 24 45 ...
##  $ GioiTinh: Factor w/ 2 levels "female","male": 2 1 2 1 2 1 1 2 1 2 ...

2. Trực quan dữ liệu với package “ggplot2” cho đối tượng là 2 biến ThuNhap, Tuoi

a. Khai báo sử dụng packe “ggplot2” từ thư viện

library(ggplot2)

b. Đồ thị thể hiện trực quan hóa dữ liệu biến định lượng ThuNhap

barplot(ThuNhap, xlab = "", ylab = "Thu Nhập",  main = "Biểu đồ thể hiện dữ liệu của biến Thu Nhập", col = c("red", "green", "blue", "pink", "white"))

c. Đồ thị thể hiện trực quan hóa dữ liệu biến định lượng Tuoi

barplot(Tuoi, xlab = "", ylab = "Tuổi",  main = "Biểu đồ thể hiện dữ liệu của biến Tuổi", col = c("red", "green", "blue", "pink", "white"))

## 3. Xử lý dữ liệu ### a. Lọc dữ liệu: Tiến hành lọc ra những quan sát có Giới Tính là Nam và có Thu Nhập lớn hơn 20.000000.000$

m <- Pa[Pa$GioiTinh=='male' & Pa$ThuNhap > 20000000, ]
str(m)
## 'data.frame':    3 obs. of  5 variables:
##  $ ThuNhap : num  2.1e+07 2.5e+07 4.2e+07
##  $ Tuoi    : num  20 51 28
##  $ GioiTinh: Factor w/ 2 levels "female","male": 2 2 2
##  $ Bang    : Factor w/ 50 levels "AK","AL","AZ",..: 35 9 15
##  $ NoiTieng: Factor w/ 2 levels "no","yes": 2 2 2

b. Sắp xếp dữ liệu: tôi sắp xếp dữ liệu theo biến ThuNhap với thứ tự sắp xếp mặc định là tăng dần.

ThuNhaptang = Pa[order(Pa$ThuNhap), ]
head(ThuNhaptang)
##     ThuNhap Tuoi GioiTinh Bang NoiTieng
## 1     10000   26     male   ND       no
## 100   11000   43   female   IN       no
## 21    12000   39   female   MI       no
## 94    12000   27   female   VA       no
## 126   17500   38   female   AK       no
## 118   17900   42   female   VT       no

4. Lập bảng tần số cho biến ThuNhap, Tuoi, GioiTinh

a. Bảng tần số cho biến định lượng ThuNhap

BangThuNhap <- cut(ThuNhap, breaks = c(10000, 50000, 250000, 1000000,10000000, 42000000 ), labels = c("thap", "trungbinh", "trungbinhcao","cao", "ratcao"), right = TRUE)
tabThuNhap=table(BangThuNhap)
tabThuNhap
## BangThuNhap
##         thap    trungbinh trungbinhcao          cao       ratcao 
##           66           51            3            2            7

b. Giải thích kết quả: đa số người được khảo sát thuộc nhóm thu nhập thấp và trung bình (từ 10000$ đến 250000\() với tỉ lệ rất cao là 90%. Trong đó nhóm thu nhập thấp (từ 10000\) đến 50000$) chiếm tỉ lệ cao nhất là 50.1%

c. Bảng tần số cho biến định lượng Tuoi

BangTuoi <- cut(Tuoi, breaks = c(18, 30, 40, 52), labels = c("18-30", "30-40", "40-50"), right = TRUE)
tabTuoi=table(BangTuoi)
tabTuoi
## BangTuoi
## 18-30 30-40 40-50 
##    32    44    33

Giải thích kết quả: phần lớn người được khảo sát thuộc nhóm độ tuổi trung niên (từ 30 đến 45 tuổi) với tỉ lệ cao nhất là 46.2%

d. Bảng tần số cho biến định tính GioiTinh

table(GioiTinh)
## GioiTinh
## female   male 
##     62     68
tabGioiTinh=table(GioiTinh)
tabGioiTinh
## GioiTinh
## female   male 
##     62     68

Giải thích kết quả: tỉ lệ người được khảo sát là nam là 52.3%, cao hơn so với nữ là 47.7%.

BTVN: Tuần 2.

BÀI TẬP VỀ NHÀ TUẦN 22

CHỦ ĐỀ: PHÂN TÍCH SỰ TÁC ĐỘNG CỦA BIẾN TUỔI VÀ BIẾN GIỚI TÍNH LÊN BIẾN THU NHẬP

I. Mô tả lại dữ liệu

a.Dataset: “Parade2005” là 1 tập dữ liệu được thu thập ở Mỹ trong năm 2005 bởi tạp chí Parade. Tập dữ liệu này gồm 130 quan sát và 5 biến. Trong đó 5 biến là:

earnings: thu nhập cá nhân hàng năm.

age: tuổi của người được khảo sát.

gender: giới tính của người được khảo sát.

II. Các đại lượng đo lường độ tập trung của biến định lượng Tuổi và Thu Nhập

a. Biến Thu Nhập

Trung bình: được tính là giá trị trung bình cộng của các giá trị.

mean(ThuNhap)
## [1] 1503412

Trung vị: là số nằm ở giữa một nhóm các số; có nghĩa là, phân nửa các số có giá trị lớn hơn số trung vị, còn phân nửa các số có giá trị bé hơn số trung vị.

median(ThuNhap)
## [1] 50000

Mean>Median => Phân phối lệch phải

b. Biến Tuổi

Trung bình: được tính là giá trị trung bình cộng của các giá trị.

mean(Tuoi)
## [1] 39.17692

Trung vị: là số nằm ở giữa một nhóm các số; có nghĩa là, phân nửa các số có giá trị lớn hơn số trung vị, còn phân nửa các số có giá trị bé hơn số trung vị.

median(Tuoi)
## [1] 38.5

=> Mean>Median => Phân phối lệch phải

III. LẬP BẢNG TẦN SỐ CỦA BIẾN THU NHẬP, TUỔI, GIỚI TÍNH VÀ VẼ ĐỒ THỊ

a. Bảng tần số cho biến ThuNhap, Tuoi, GioiTinh

tabThuNhap
## BangThuNhap
##         thap    trungbinh trungbinhcao          cao       ratcao 
##           66           51            3            2            7
tabTuoi
## BangTuoi
## 18-30 30-40 40-50 
##    32    44    33
tabGioiTinh
## GioiTinh
## female   male 
##     62     68

b. Vẽ đồ thị từ bảng tần số của 3 biến trên

barplot(tabThuNhap, xlab = "Thu Nhập", ylab = "Tần số",  main = "Biểu đồ tần số của biến Thu Nhập", col = c("red", "green", "blue", "pink", "white"))

 barplot(tabTuoi, xlab = "Tuổi", ylab = "Tần số",  main = "Biểu đồ tần số của Biến Tuổi", col = c("red", "green", "blue")) 

barplot(tabGioiTinh, xlab = "Tuổi", ylab = "Tần số",  main = "Biểu đồ tần số của Biến Tuổi", col = c("red", "green"))

## IV. Phân tích sự tác động của biến Tuổi lên Thu Nhập ### a. Lập bảng kết hợp giữa biến Tuổi và Thu Nhập

tabTNT=table(BangThuNhap, BangTuoi)
tabTNT
##               BangTuoi
## BangThuNhap    18-30 30-40 40-50
##   thap            21    25    13
##   trungbinh        5    16    18
##   trungbinhcao     1     0     1
##   cao              1     0     0
##   ratcao           3     3     1

Kiểm định Chi Bình Phương (Chi-quared)

Trong kiểm định này, chúng ta phải kiểm tra các giá trị p. Hơn nữa, giống như tất cả các thử nghiệm thống kê, chúng tôi giả định thử nghiệm này là giả thuyết H0 và giả thuyết H1.

Chúng ta sẽ bác bỏ giả thuyết H0 nếu giá trị p xuất hiện trong kết quả nhỏ hơn mức ý nghĩa xác định trước, thường là 0,05, thì chúng ta bác bỏ giả thuyết H0.

chisq.test(ThuNhap, Tuoi, correct=FALSE)
## Warning in chisq.test(ThuNhap, Tuoi, correct = FALSE): Chi-squared
## approximation may be incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  ThuNhap and Tuoi
## X-squared = 3735.3, df = 3526, p-value = 0.007096

Ta có giá trị chi bình phương xấp xỉ 3735 và giá trị p-value xấp xỉ 0.0071. Vì chúng ta nhận được giá trị p nhỏ hơn mức ý nghĩa 0,05, chúng ta bác bỏ giả thuyết H0.

=> Kết luận: biến thu nhập (earnings) và biến tuổi (age) trên thực tế là 2 biến phụ thuộc.

Đồ thị của biến Thu Nhập theo biến Tuổi

uoi18den30 <- Tuoi[Tuoi>=18 & Tuoi<30]
vearnandage18den30 <- c(21,5,1,1,3)
Tuoi30den45 <- Tuoi[Tuoi>=30 & Tuoi<40]
vearnandage30den45 <- c(23,16,0,0,3)
Tuoi40den52 <- Tuoi[Tuoi>=40 & Tuoi<53]
vearnandage45den52 <- c(13,18,1,0,1)
plot(vearnandage18den30, xlab = "Mức Thu Nhập: Thấp - Tr.Bình - Cao - Rất Cao", ylab = "Tần Số",  main = "Biểu đồ tần số của biến Thu Nhập ở độ tuổi 18 đến 30", col = c("red", "green", "blue","white"))+plot(vearnandage30den45, xlab = "Mức Thu Nhập: Thấp - Tr.Bình - Cao - Rất Cao", ylab = "Tần Số",  main = "Biểu đồ tần số của biến Thu Nhập ở độ tuổi 30 đến 40", col = c("red", "green", "blue","white"))+plot(vearnandage45den52, xlab = "Mức Thu Nhập: Thấp - Tr.Bình - Cao - Rất Cao", ylab = "Tần Số",  main = "Biểu đồ tần số  của biến Thu Nhập ở độ tuổi 40 đến 52", col = c("red", "green", "blue","white"))

## integer(0)

Giải thích kết quả: nhóm thu nhập thấp từ độ tuổi 18-30 đến độ tuổi 40-52 có xu hướng giảm từ 21 xuống 13 người, trong khi đó nhóm thu nhập trung bình từ độ tuổi 18-30 đến độ tuổi 40-52 có xu hướng tăng từ 5 lên 18 người. Các nhóm thu nhập trung bình cao, cao và rất cao có tần số quá ít để xác định kết xu hướng tăng giảm.

=> Kết luận: biến Tuổi và Thu Nhập có quan hệ tương quan dương khi độ tuổi càng cao thì nhóm thu nhập thấp giảm và thu nhập nhóm trung bình càng tăng.

b. Lập bảng kết hợp giữa biến Giới Tính và Thu Nhập

tabTNGT=table(BangThuNhap, GioiTinh)
tabTNGT
##               GioiTinh
## BangThuNhap    female male
##   thap             38   28
##   trungbinh        18   33
##   trungbinhcao      1    2
##   cao               2    0
##   ratcao            3    4

Kiểm định Chi Bình Phương (Chi-quared)

Trong kiểm định này, chúng ta phải kiểm tra các giá trị p. Hơn nữa, giống như tất cả các thử nghiệm thống kê, chúng tôi giả định thử nghiệm này là giả thuyết H0 và giả thuyết H1.

Chúng ta sẽ bác bỏ giả thuyết H0 nếu giá trị p xuất hiện trong kết quả nhỏ hơn mức ý nghĩa xác định trước, thường là 0,05, thì chúng ta bác bỏ giả thuyết H0.

chisq.test(ThuNhap, GioiTinh, correct=FALSE)
## Warning in chisq.test(ThuNhap, GioiTinh, correct = FALSE): Chi-squared
## approximation may be incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  ThuNhap and GioiTinh
## X-squared = 84.78, df = 86, p-value = 0.517

a có giá trị chi bình phương xấp xỉ 84.78 và giá trị p xấp xỉ 0.517. Vì chúng ta nhận được giá trị p lớn hơn mức ý nghĩa 0,05, chúng ta chấp nhận giả thuyết H0.

=> Kết luận: biến thu nhập (earnings) và biến giới tính (gender) trên thực tế là 2 biến độc lập. Kết quả từ kiểm định là phù hợp với thực tế.