require(tidyverse)
## Loading required package: tidyverse
## Error: package or namespace load failed for 'tidyverse':
##  .onAttach failed in attachNamespace() for 'tidyverse', details:
##   call: NULL
##   error: package or namespace load failed for 'tidyr' in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]):
##  namespace 'vctrs' 0.5.1 is already loaded, but >= 0.5.2 is required
library(DescTools)
## Warning: package 'DescTools' was built under R version 4.2.3
library(ggplot2)
library(xlsx)
setwd("C:/Users/HP/Documents/PTDLĐT/")
data <- read.xlsx("data.xlsx", sheetIndex = 1)

1 Bài về nhà tuần 3 - 4 (câu 3)

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

Tác giả chọn phân tích 6 biến: carido, gender, age, smoke, active, alco

1.1 Thống kê mô tả biến cardio

1.1.1 Bảng tần suất

table(data$cardio)
## 
##   N   Y 
## 237 263
table(data$cardio)/sum(table(data$cardio))
## 
##     N     Y 
## 0.474 0.526

1.1.2 Đồ thị

library(ggplot2)
data |> ggplot(aes(x = cardio, y = after_stat(count))) +
geom_bar(fill = 'blue') +geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = 'red', vjust = - .5) +labs(x = 'Người bị bệnh tim', y = 'Số người')

Dựa vào đồ thị và bảng tần số, ta thấy tỷ lệ người đi khám bị bệnh tim chiếm cao hơn là 52,6% gồm 263 người bị bệnh tim trên tổng 500 người đi khám. Trong đó, người đi khám không bị bệnh tim là 237 người và chiếm 47,4% người đi khám.

1.2 Thống kê mô tả biến gender

1.2.1 Bảng tần số

table(data$gender)
## 
##   F   M 
## 322 178
table(data$gender)/sum(table(data$gender))
## 
##     F     M 
## 0.644 0.356

1.2.2 Đồ thị

library(ggplot2)
data |> ggplot(aes(x = gender, y = after_stat(count))) +
geom_bar(fill = 'blue') +geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = 'red', vjust = - .5) +labs(x = 'Giới tính', y = 'Số người')

Dựa vào đồ thị và bảng tần số, ta thấy tỷ lệ người đi khám là nữ chiếm 64%, cho thấy có 322 bệnh nhân giới tính là nữ trên tổng 500 người đi khám. Trong đó, có 178 bệnh nhân nam đi khám so với tổng số bệnh nhân (chiếm 36% người đi khám)

1.3 Thống kê mô tả biến age

1.3.1 Bảng summary

summary(data$age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    39.0    49.0    54.0    53.6    59.0    65.0

Trong 500 người đi khám bệnh, bệnh nhân ít tuổi nhất là 39 tuổi và lớn nhất là 65 tuổi. Cho thấy số tuổi trung bình mà bệnh nhân đi khám bệnh tim là khoảng 53 - 54 tuổi.

table(data$age)
## 
## 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 
##  2 21  3 13  1 19  5 26  6 24  7 40 10 42  7 46  7 38 11 33 15 51  7 30  6 27 
## 65 
##  3
table(data$age)/sum(table(data$age))
## 
##    39    40    41    42    43    44    45    46    47    48    49    50    51 
## 0.004 0.042 0.006 0.026 0.002 0.038 0.010 0.052 0.012 0.048 0.014 0.080 0.020 
##    52    53    54    55    56    57    58    59    60    61    62    63    64 
## 0.084 0.014 0.092 0.014 0.076 0.022 0.066 0.030 0.102 0.014 0.060 0.012 0.054 
##    65 
## 0.006

1.3.2 Đồ thị

data |> ggplot(aes(x = age, y = after_stat(count))) +
geom_bar(fill = 'blue') +geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = 'red', vjust = - .5) +labs(x = 'Độ tuổi', y = 'Số người')

Qua đồ thị, ta thấy bệnh nhân ở độ tuổi 60 đi khám bệnh tim có xác suất cao nhất, là khoảng 10,2%. Ngược lại, tỷ lệ mà bệnh nhân ở độ tuổi 43 đi khám là thấp nhất, chỉ có 0,2%.

1.4 Thống kê mô tả biến smoke

1.4.1 Bảng tần suất

table(data$smoke)
## 
##   N   Y 
## 453  47
table(data$smoke)/sum(table(data$smoke))
## 
##     N     Y 
## 0.906 0.094

1.4.2 Đồ thị

data |> ggplot(aes(x = smoke, y = after_stat(count))) +
geom_bar(fill = 'blue') +geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = 'red', vjust = - .5) +labs(x = 'Trình trạng sử dụng thuốc lá', y = 'Số người')

Dựa vào đồ thị và bảng tần số, ta thấy tỷ lệ người không hút thuốc chiếm 91%, cho thấy có 453 người đi khám không hút thuốc lá so với tổng người đi khám. Ngoài ra, số người bệnh nhân sử dụng thuốc là 47 người (chiếm 9% so với tổng người đi khám).

1.5 Thống kê mô tả biến alco

1.5.1 Bảng tần suất

table(data$alco)
## 
##   N   Y 
## 479  21
table(data$alco)/sum(table(data$alco))
## 
##     N     Y 
## 0.958 0.042

1.5.2 Đồ thị

data |> ggplot(aes(x = alco, y = after_stat(count))) +
geom_bar(fill = 'blue') +geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = 'red', vjust = - .5) +labs(x = 'Tình trạng sử dụng rượu bia', y = 'Số người')

Dựa vào đồ thị và bảng tần số, ta thấy tỷ lệ người sử dụng rượu bia chỉ có 4%, cho thấy tổng 500 người đi khám chỉ có 21 người uống rượu. Trong khi đó, có 479 người không sử dụng rượu bia, chiếm tận 96% so với tổng số người đi khám.

1.6 Thống kê mô tả biến active

1.6.1 Bảng tần suất

table(data$active)
## 
##   N   Y 
## 107 393
table(data$active)/sum(table(data$active))
## 
##     N     Y 
## 0.214 0.786

1.6.2 Đồ thị

data |> ggplot(aes(x = active, y = after_stat(count))) +
geom_bar(fill = 'blue') +geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = 'red', vjust = - .5) +labs(x = 'Trình trạng vận động', y = 'Số người')

Thông qua đồ thị, ta cho thấy tỷ lệ bệnh nhân có vận động là chiếm 79%, cho thấy trong tổng 500 người đi khám thì có 393 người tập thể dục và chỉ có 107 người không vận động, chiếm 21% so với tổng người đi khám.

2 Bài về nhà tuần 2 (câu 2)

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

2.1 Chọn biến định tính làm biến phụ thuộc

Bài nghiên cứu chọn biến phụ thuộc là biến cardio (Bệnh nhân bị bệnh tim (Y/N)).

Giải thích: Tim mạch là bệnh lý xuất hiện âm thầm nhưng để lại nhiều hậu quả nghiêm trọng đối với tính mạng.Trong những năm trở lại đây, tỷ lệ tử vong do bệnh tim ngày càng tăng trên toàn thế giới. Bài nghiên cứu xác định thông qua 500 hồ sơ bệnh nhân khám ở khoa tim mạch cho thấy các yếu tố nào có khả năng nguyên nhân làm bệnh nhân bị bệnh tim.Từ đó, đưa ra những biện pháp phòng ngừa hợp lí tránh các loại bệnh tim mạch.

2.2 Chọn biến định lượng làm biến phụ thuộc

Bài nghiên cứu chọn biến phụ thuộc là biến age (số tuổi của bệnh nhân).

Giải thích: Nhằm mục đích là xác định tuổi của bệnh nhân có làm ảnh hưởng đến huyết áp, cholesterol, glu,… hay không. Từ đó, đưa ra những giải pháp tăng cường sức khỏe, cải thiện đời sống phòng ngừa bệnh tim.

3 Bài về nhà tuần 1 (câu 1)

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

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

Bộ dữ liệu được lấy tại trang website Kaggle do Svetlana Ulianova chia sẻ (2019). Dữ liệu được thu nhập từ 500 hồ sơ bệnh nhân ở khoa tim mạch ở bệnh viện tại Mỹ được khám trong khoảng thời gian 3 ngày. Bộ dữ liệu có 12 biến gồm 500 quan sát.

3.2 Giải thích các biến:

  1. age: số tuổi của các bệnh nhân
  2. gender: Giới tính của các bệnh nhân (Nữ - F/Nam - M)
  3. height: Chiều cao của các bệnh nhân (cm)
  4. weight: Cân nặng của các bệnh nhân (kg)
  5. aphi: Huyết áp tối đa đo được của các bệnh nhân
  6. aplo: Huyết áp tối thiểu đo được của các bệnh nhân
  7. cholesterol: Mức độ đánh giá cholesterol của các bệnh nhân (Bình thường - BT/ Ranh giới - RG/ Nguy cơ cao - NCC)
  8. gluc: Mức độ đánh giá Glucose của các bệnh nhân (Bình thường - BT/ Ranh giới - RG/ Nguy cơ cao - NCC)
  9. smoke: Bệnh nhân hút thuốc lá (Có - Y/ Không - N)
  10. alco: Bệnh nhân uống rượu bia (Có - Y/ Không - N)
  11. active: Bệnh nhân tập thể thao (Có - Y/ Không - N)
  12. cardio: Bệnh nhân bị bệnh tim mạch (Có - Y/ Không - N)
library(xlsx)
setwd("C:/Users/HP/Documents/PTDLĐT/")
data <- read.xlsx("data.xlsx", sheetIndex = 1)
data
str(data)
## 'data.frame':    500 obs. of  12 variables:
##  $ age        : num  55 52 48 48 60 61 62 48 54 62 ...
##  $ gender     : chr  "F" "F" "M" "F" ...
##  $ height     : num  156 165 169 156 151 157 178 158 164 169 ...
##  $ weight     : num  85 64 82 56 67 93 95 71 68 80 ...
##  $ aphi       : num  140 130 150 100 120 130 130 110 110 120 ...
##  $ aplo       : num  90 70 100 60 80 80 90 70 60 80 ...
##  $ cholesterol: chr  "NCC" "NCC" "BT" "BT" ...
##  $ gluc       : chr  "BT" "BT" "BT" "BT" ...
##  $ smoke      : chr  "N" "N" "N" "N" ...
##  $ alco       : chr  "N" "N" "N" "N" ...
##  $ active     : chr  "Y" "N" "Y" "N" ...
##  $ cardio     : chr  "Y" "Y" "Y" "N" ...

Thông qua bảng dữ liệu, dữ liệu nghiên cứu gồm 500 quan sát với 12 biến bao gồm 5 biến định lượng và 7 biến định tính.