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

1.1 Tìm một dataset có dữ liệu định tính, dữ liệu định lượng, trên 5 biến và nhiều hơn 300 quan sát

Bộ dữ liệu này chứa thông tin về tiền lương của các nhân viên tại một công ty ở Mỹ. Mỗi hàng sẽ đại diện cho một nhân viên khác nhau và các cột bao gồm thông tin của các nhân viên như tuổi, giới tính, trình độ học vấn, chức danh công việc, số năm kinh nghiệm và mức lương.

  • tuoi: Cột này thể hiện tuổi của từng nhân viên theo năm.

  • gt: Cột này chứa giới tính của từng nhân viên, (F: Nữ ; M: Nam)

  • td: Cột này chứa trình độ học vấn của từng nhân viên là cử nhân, thạc sĩ hoặc tiến sĩ.

  • cv: Cột này chứa chức danh công việc của từng nhân viên.

  • nkn: Cột này thể hiện số năm kinh nghiệm làm việc của mỗi nhân viên.

  • ml: Cột này thể hiện mức lương hàng năm của mỗi nhân viên bằng đô la Mỹ (USD).

1.2 Dữ liệu nghiên cứu

setwd("C:/PTDLDT")
library(xlsx)
library(readxl)
## Warning: package 'readxl' was built under R version 4.2.3
d <- read.xlsx("dataa.xlsx",1)
d

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

Bộ dữ liệu chứa thông tin 1 trong những nguyên nhân dẫn đến bệnh tim ở người.Theo CDC, bệnh tim là một trong những nguyên nhân gây tử vong hàng đầu cho những người thuộc hầu hết các chủng tộc ở Hoa Kỳ (Người Mỹ gốc Phi, người Mỹ da đỏ và thổ dân Alaska, và người da trắng). Khoảng một nửa số người Mỹ (47%) có ít nhất 1 trong 3 yếu tố nguy cơ chính gây bệnh tim: huyết áp cao, cholesterol cao và hút thuốc. Các chỉ số quan trọng khác bao gồm tình trạng tiểu đường, béo phì (chỉ số BMI cao), không hoạt động thể chất đầy đủ hoặc uống quá nhiều rượu.

2.1 Giải thích biến

  1. hd: (Heart disease) là những người được hỏi đã từng báo cáo mắc bệnh tim mạch vành (CHD) hoặc nhồi máu cơ tim (MI)

  2. bmi: chỉ số khối cơ thể BMI

  3. sk: (Smoking) là người đó có hút thuốc hay không (yes/no)

  4. ad: (Alcohol drinking) là những người nghiện rượu nặng

  5. stroke: là người đó đã từng đột quỵ chưa (yes/no)

  6. ph: (PhycicalHealth) sức khỏe thể chất, bao gồm bệnh tật và chấn thương thể chất, trong 30 ngày qua sức khỏe thể chất không được tốt bao nhiêu ngày (0-30 ngày)

  7. mh: (Mental health) sức khỏe tinh thần, có bao nhiêu ngày trong 30 ngày sức khỏe tinh thần không tốt (0-30 ngày)

  8. dw:(Diff walking) người gặp khó khăn nghiêm trọng khi đi bộ hoặc leo cầu thang

  9. sex: giới tính (M:nam/ F:nữ)

  10. agec: độ tuổi

  11. dia: (diabetic) người bị mắc bệnh tiểu đường (yes/no)

  12. pa: (Physical activity) hoạt động thể chất. Người đó có hoạt động thể chất hoặc tập thể dục trong 30 ngày qua không (yes/no)

2.2 Dữ liệu nghiên cứu

setwd("C:/PTDLDT")
library(xlsx)
library(readxl)
data <- read.xlsx("dulieu.xlsx",1)
data

2.3 Chọn 1 hoặc 2 biến định tính và 1 biến định lượng để phân tích, giải thích lý do

2.3.1 Biến phụ thuộc là biến định lượng

Bài nghiên cứu chọn biến bmi là biến phụ thuộc vì tác giả muốn xem xét rằng liệu rằng những bệnh nhân mắc những căn bệnh như bệnh tim, tiểu đường, từng đột quỵ hay những bệnh nhân thường xuyên sử dụng thuốc lá, rượu sẽ ảnh hưởng đến chỉ số bmi như thế nào. Từ đó có những biện pháp cân bằng lại chế độ ăn uống lành mạnh để đạt được chỉ số bmi tốt.

2.3.2 Biến phụ thuộc là biến định tính

Bài nghiên cứu chọn biến hd (bệnh nhân mắc bệnh tim mạch (yes/no)). Tại đây tác giả sẽ thông qua báo cáo của 584 bệnh nhân để biết được những yếu tố nào là nguyên nhân chính gây ra bệnh về tim. Từ đó có thể đưa ra giải pháp phòng ngừa bệnh tim mạch.

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

Làm thống kê mô tả cho ít nhất 5 biến (vừa định tính vừa định lượng và 2 biến đã chọn ở câu 2), nhận xét về kết quả phân tích này

3.1 Thống kê mô tả cho dữ liệu định lượng

3.1.1 Biến bmi (chỉ số khối cơ thể bmi)

bmi = data$bmi
summary(bmi)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   14.69   24.82   27.68   29.00   32.63   75.82
hist(data$bmi)

Dựa vào kết quả phân tích ta thấy những người có chỉ số BMI thấp nhất là 14,69 (kg/m^2)cao nhất là 75,82(kg/m^2). Trung bình chỉ số BMI của 584 người quan sát nằm ở mức 29,00. và có dưới 50% người có chỉ số thấp hơn 27,68 (kg/m^2)

3.1.2 Biến ph (sức khỏe thể chất, trong 30 ngày qua sức khỏe thể chất không được tốt bao nhiêu ngày)

bmi = data$ph
summary(data$ph)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   0.000   0.000   4.908   5.000  30.000
hist(data$ph)

Dựa vào kết quả phân tích ta thấy được những người có số ngày sức khỏe thể chất không tốt nhiều nhất là 30 ngày và ít nhất là 0 ngày (tức người này hoàn toàn khỏe mạnh trong 30 ngày qua). Trung bình những người có số ngày sức khỏe thể chất không tốt dao động từ 4-5 ngày

3.2 Thống kê mô tả cho dữ liệu định tính

3.2.1 Biến hd (những người mắc bệnh tim)

data <- read.xlsx("dulieu.xlsx",1)
d <- read.xlsx("dulieu.xlsx" ,1,header =T)
str(d)
## 'data.frame':    584 obs. of  12 variables:
##  $ hd    : chr  "No" "No" "No" "No" ...
##  $ bmi   : num  16.6 20.3 26.6 24.2 23.7 ...
##  $ sk    : chr  "Yes" "No" "Yes" "No" ...
##  $ ad    : chr  "No" "No" "No" "No" ...
##  $ stroke: chr  "No" "Yes" "No" "No" ...
##  $ ph    : num  3 0 20 0 28 6 15 5 0 30 ...
##  $ mh    : num  30 0 30 0 0 0 0 0 0 0 ...
##  $ dw    : chr  "No" "No" "No" "No" ...
##  $ sex   : chr  "F" "F" "M" "F" ...
##  $ agec  : chr  "55-59" "80 or older" "65-69" "75-79" ...
##  $ dia   : chr  "Yes" "No" "Yes" "No" ...
##  $ pa    : chr  "Yes" "Yes" "Yes" "No" ...
table(d$hd)
## 
##  No Yes 
## 498  86
table(d$hd)/sum(table(d$hd))
## 
##        No       Yes 
## 0.8527397 0.1472603
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.0     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.1     ✔ tibble    3.1.8
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.1     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(ggplot2)
ht <- d
ht <- table(d$hd)
pie(table(d$hd), main = "Histogram of Heart disease")

Dựa vào kết quả của bảng tần suất và biểu đồ ta thấy số người mắc bệnh liên quan đến tim mạch và những người không mắc bệnh chênh lệch nhau rất nhiều, cụ thể trong đó những người mắc bệnh về tim mạch chiếm 14,72% và những người không mắc bệnh chiếm 85,27%.

3.2.2 Biến sk (Những người sử dụng thuốc lá)

library(ggplot2)
table(d$sk)
## 
##  No Yes 
## 328 256
table(d$sk)/sum(table(d$sk))
## 
##        No       Yes 
## 0.5616438 0.4383562
ggplot(data = d) + geom_bar(mapping=aes(x=sk, fill=sk))

Dựa vào kết quả của bảng tần suất và biểu đồ ta thấy trong tổng số 548 người thì những người sử dụng thuốc lá chiếm 43.83% và những người không sử dụng thuốc lá chiếm 56,16%.

3.2.3 Biến agec (độ tuổi)

table(d$agec)
## 
##       18-24       25-29       30-34       35-39       40-44       45-49 
##           3           2           2           7          14          19 
##       50-54       55-59       60-64       65-69       70-74       75-79 
##          31          35          63         103         108          92 
## 80 or older 
##         105
table(d$agec)/sum(table(d$agec))
## 
##       18-24       25-29       30-34       35-39       40-44       45-49 
## 0.005136986 0.003424658 0.003424658 0.011986301 0.023972603 0.032534247 
##       50-54       55-59       60-64       65-69       70-74       75-79 
## 0.053082192 0.059931507 0.107876712 0.176369863 0.184931507 0.157534247 
## 80 or older 
## 0.179794521
library(ggplot2)
ggplot(data = d) + geom_bar(mapping=aes(x=agec, fill=agec))

Dựa vào kết quả phân tích ta thấy những người mắc các căn bệnh liên quan đến tim mạch trong độ tuổi 70-74 tuổi chiếm cao nhất với 18,49%. Xếp thứ hai là những người trong độ tuổi từ 80 tuổi trở lên sẽ mắc các bệnh liên quan đến tim mạch chiếm 17,98%. Và những người trong độ tuổi từ 25-34 tuổi sẽ ít mắc các căn bệnh liên quan đến tim mạch với 0,34%.

3.2.4 Biến sex (giới tính)

table(d$sex)
## 
##   F   M 
## 396 188
table(d$sex)/sum(table(d$sex))
## 
##         F         M 
## 0.6780822 0.3219178
library(ggplot2)
ggplot(data = d) + geom_bar(mapping=aes(x=sex, fill=sex))

pie(table(d$sex), main = "Histogram of Sex")

Dựa vào kết quả phân tích ta thấy những người có giới tính Nữ mắc những bệnh về tim mạch chiếm tỉ lệ nhiều hơn giới tính Nam với tỉ lệ lần lượt là 67,8% và 32,19%.

3.3 Phân tích ảnh hưởng của biến agec (độ tuổi) và biến sex (giới tính) tới nguyên nhân mắc các bệnh tim mạch

agec.sex <- table(d$sex,d$agec)
agec.sex
##    
##     18-24 25-29 30-34 35-39 40-44 45-49 50-54 55-59 60-64 65-69 70-74 75-79
##   F     1     1     1     4    12    11    14    28    42    71    71    62
##   M     2     1     1     3     2     8    17     7    21    32    37    30
##    
##     80 or older
##   F          78
##   M          27
barplot(agec.sex)

barplot(agec.sex,beside=TRUE,xlab="age group")

Dựa vào kết quả phân tích ta thấy, những người trong độ tuổi 70-74 tuổi sẽ là nhóm tuổi mắc các bệnh về tim cao nhất, cụ thể hơn là giới tính nữ trong độ tuổi này sẽ mắc bệnh nhiều hơn giới tính nam (71 nữ và 37 nam). Bên cạnh đó nhóm tuổi từ 25-34 tuổi sẽ ít mắc bệnh về tim, cụ thể tỉ lệ mắc bệnh giữa nam và nữ là như nhau.