require(tidyverse)
## Loading required package: 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)
library(readxl)
## Warning: package 'readxl' was built under R version 4.2.3
library(epitools)
library(DescTools)
## Warning: package 'DescTools' was built under R version 4.2.3
setwd("C:/PTDLDT")
data <- read_excel("data.xlsx",1)
data

1 Bài tập về nhà tuần 5 (câu5)

- Biến phụ thuộc định tính được chọn là biến hd (những người mắc bệnh tim)

1.1 Ước lượng mô hình hàm hồi quy cho dữ liệu nhị phân

1.1.1 Mô hình logit

fit1 <- glm(factor (hd) ~ data$sex + data$sk + data$dia, family = binomial(link = "logit"), data = data)
summary(fit1)
## 
## Call:
## glm(formula = factor(hd) ~ data$sex + data$sk + data$dia, family = binomial(link = "logit"), 
##     data = data)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.9136  -0.5893  -0.4152  -0.4054   2.2538  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -2.45763    0.21342 -11.516  < 2e-16 ***
## data$sexM    0.05005    0.25521   0.196  0.84451    
## data$skYes   0.74502    0.24734   3.012  0.00259 ** 
## data$diaYes  1.00463    0.24950   4.027 5.66e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 488.14  on 583  degrees of freedom
## Residual deviance: 462.46  on 580  degrees of freedom
## AIC: 470.46
## 
## Number of Fisher Scoring iterations: 5

Mô hình tổng quát của logit:

logit(π) = log (π/1-π) = β0 + β1X1 + β2X2 + ⋯ + βkXk

Sau khi chạy mô hình logit ta có hàm hồi quy sau:

logit(π) = log (π/1-π) = -2,45763 + 0,05005sex + 0,74502sk + 1,00463dia

BrierScore(fit1)
## [1] 0.1199881

1.1.2 Mô hình Probit

fit2 <- glm(factor (hd) ~ data$sex + data$sk + data$dia, family = binomial(link = "probit"),data = data)
summary(fit2)
## 
## Call:
## glm(formula = factor(hd) ~ data$sex + data$sk + data$dia, family = binomial(link = "probit"), 
##     data = data)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.9089  -0.5964  -0.4129  -0.3982   2.2690  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -1.43099    0.11025 -12.980  < 2e-16 ***
## data$sexM    0.03724    0.14094   0.264  0.79159    
## data$skYes   0.41122    0.13436   3.060  0.00221 ** 
## data$diaYes  0.56554    0.14114   4.007 6.15e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 488.14  on 583  degrees of freedom
## Residual deviance: 462.12  on 580  degrees of freedom
## AIC: 470.12
## 
## Number of Fisher Scoring iterations: 5

Mô hình tổng quát của probit:

probit(π) = Φ^(-1)(π) = β0 + β1X1 + β2X2 + ⋯ + βkXk

Sau khi chạy mô hình probit ta có hàm hồi quy sau:

probit(π) = Φ^(-1)(π) = -1,43099 + 0,03724sex +0,41122sk + 0,56554dia

BrierScore(fit2)
## [1] 0.1199219

1.1.3 Mô hình cloglog

fit3 <- glm(factor (hd) ~ data$sex + data$sk + data$dia, family = binomial(link = "cloglog"),data = data)
summary(fit3)
## 
## Call:
## glm(formula = factor(hd) ~ data$sex + data$sk + data$dia, family = binomial(link = "cloglog"), 
##     data = data)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.9161  -0.5852  -0.4187  -0.4100   2.2441  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -2.47634    0.19860 -12.469  < 2e-16 ***
## data$sexM    0.04176    0.22951   0.182  0.85561    
## data$skYes   0.66987    0.22513   2.975  0.00293 ** 
## data$diaYes  0.89635    0.22127   4.051  5.1e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 488.14  on 583  degrees of freedom
## Residual deviance: 462.73  on 580  degrees of freedom
## AIC: 470.73
## 
## Number of Fisher Scoring iterations: 5

Mô hình tổng quát của cloglog:

cloglog(π)=log(−log(1−π)) = β0 + β1X1 + β2X2 + ⋯ + βkXk

Sau khi chạy mô hình cloglog ta có hàm hồi quy sau:

cloglog(π)=log(−log(1−π)) = -2,47634 + 0,04176sex + 0,66987sk + 0,89635dia

BrierScore(fit3)
## [1] 0.1200402

1.2 Đánh giá mô hình

  • Mô hình logit (fit1)

AIC = 470,46

Deviance = 462,46

Brier Score = 0,1199881

  • Mô hình probit (fit2)

AIC = 470,12

Deviance = 462,12

Brier Score = 0,1180961

  • Mô hình cloglog (fit3)

AIC = 470,73

Deviance = 462,73

Brier Score = 0,1200402

2 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

2.1 Thống kê mô tả các biến

2.1.1 Thống kê mô tả biến bmi

  • Bảng summary
summary(data$bmi)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   14.69   24.82   27.68   29.00   32.63   75.82

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)

  • Biểu đồ
b <- data$bmi
table(cut(b,4))
## 
##   (14.6,30]   (30,45.3] (45.3,60.5] (60.5,75.9] 
##         369         202          12           1
data |> ggplot(aes(bmi)) + geom_bar(aes(y = (..count..)), color = 'purple', fill = 'yellow')
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.

Dựa vào biểu đồ ta thấy được có 369 người có chỉ số bmi (14.6,30], 202 người có chỉ số bmi (30,45.3], 12 người có chỉ số bmi (45.3,60.5] và có 1 người có chỉ số bmi (60.5,75.9]

2.1.2 Thống kê mô tả biến ph (sức khỏe thể chất)

  • Bảng summary
summary(data$ph)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   0.000   0.000   4.908   5.000  30.000

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

  • Biểu đồ
p <-cut(data$ph, breaks=c(1,39,64), labels=c('yes', ' no'))
table(p)
## p
## yes  no 
## 207   0
table(p)/sum(table(p))
## p
## yes  no 
##   1   0
data |> ggplot(aes(x = ph, y = after_stat(count))) + geom_bar(fill = 'purple') + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = 'count', color = 'red', vjust = - .5) + theme_classic() + labs(x = 'sức khỏe không ổn định theo từng ngày', y = 'Số người')

2.1.3 Thống kê mô tả biến hd (heart disease)

  • Bảng tần suất
table(data$hd)
## 
##  No Yes 
## 498  86
table(data$hd)/sum(table(data$hd))
## 
##        No       Yes 
## 0.8527397 0.1472603
  • Biểu đồ
data |> ggplot(aes(x = hd, y = after_stat(count))) + geom_bar(fill = 'green') + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = 'count', color = 'red', vjust = - .5) + theme_classic() + labs(x = 'bệnh tim', y = 'Số người')

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 15% và những người không mắc bệnh chiếm 85%.

2.1.4 Thống kê mô tả biến sk (Smoking)

  • Bảng tần suất
table(data$sk)
## 
##  No Yes 
## 328 256
table(data$sk)/sum(table(data$sk))
## 
##        No       Yes 
## 0.5616438 0.4383562
  • Biểu đồ
data |> ggplot(aes(x = sk, y = after_stat(count))) + geom_bar(fill = 'green') + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = 'count', color = 'red', vjust = - .5) + theme_classic() + labs(x = 'Hút thuốc lá', y = 'Số người') + coord_flip()

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 44% và những người không sử dụng thuốc lá chiếm 56%.

2.1.5 Thống kê mô tả biến agec (độ tuổi)

  • Bảng tần suất
table(data$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(data$agec)/sum(table(data$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
  • Biểu đồ
data |> ggplot(aes(x = agec, 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) + theme_classic() + labs(x = 'Hút thuốc lá', y = 'Số người') + coord_flip()

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%.

2.1.6 Thống kê mô tả biến sex (giới tính)

table(data$sex)
## 
##   F   M 
## 396 188
table(data$sex)/sum(table(data$sex))
## 
##         F         M 
## 0.6780822 0.3219178
pie(table(data$sex), col = rainbow(3), main = "Biểu đồ")

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%.

2.1.7 Thống kê mô tả biến dia (tiểu đường)

table(data$dia)
## 
##  No Yes 
## 443 141
table(data$dia)/sum(table(data$dia))
## 
##        No       Yes 
## 0.7585616 0.2414384
data |> ggplot(aes(x = dia, 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) + theme_classic() + labs(x = 'Bệnh tiểu đường', y = 'Số người') + coord_flip()

Dựa vào kết quả phân tích ta thấy trong số 584 người thì có 24% là mắc bệnh tiểu đường và 76% không mắc bệnh tiểu đường

2.2 Thống kê suy diễn cho dữ liệu định tính

2.2.1 Kiểm định tính độc lập

  • Kiểm định tính độc lập cho 2 biến hd và sex

Cặp giả thuyết/ đối thuyết

H0: Hai biến hd và sex độc lập

H1: Hai biến hd và sex không độc lập

chisq.test(table(data$hd,data$sex))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(data$hd, data$sex)
## X-squared = 1.4483, df = 1, p-value = 0.2288

Tại mức ý nghĩa 5%, với p-vlue > 0,05 thì ta đủ cơ sở chấp nhận H0, nghĩa là việc những người mắc căn bệnh về tim mạch và giới tính là độc lập với nhau

  • Kiểm định tính độc lập cho 2 biến hd và agec

Cặp giả thuyết/ đối thuyết

H0: Hai biến hd và agec độc lập

H1: Hai biến hd và agec không độc lập

chisq.test(table(data$hd,data$agec))
## Warning in chisq.test(table(data$hd, data$agec)): Chi-squared approximation may
## be incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  table(data$hd, data$agec)
## X-squared = 20.037, df = 12, p-value = 0.06638

Tại mức ý nghĩa 5%, với p-vlue > 0,05 thì ta đủ cơ sở chấp nhận H0, nghĩa là việc những người mắc căn bệnh về tim mạch và độ tuổi là độc lập với nhau

  • Kiểm định tính độc lập cho 2 biến hd và sk

Cặp giả thuyết/ đối thuyết

H0: Hai biến hd và sk độc lập

H1: Hai biến hd và sk không độc lập

chisq.test(table(data$hd,data$sk))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(data$hd, data$sk)
## X-squared = 9.0763, df = 1, p-value = 0.002589

Tại mức ý nghĩa 5%, với p-vlue < 0,05 thì ta chưa đủ cơ sở để chấp nhận H0, nghĩa là việc những người mắc căn bệnh về tim mạch và hút thuốc là không độc lập

  • Kiểm định tính độc lập cho 2 biến hd và dia

Cặp giả thuyết/ đối thuyết

H0: Hai biến hd và dia độc lập

H1: Hai biến hd và dia không độc lập

chisq.test(table(data$hd,data$dia))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(data$hd, data$dia)
## X-squared = 16.168, df = 1, p-value = 5.796e-05

Tại mức ý nghĩa 5%, với p-vlue < 0,05 thì ta chưa đủ cơ sở để chấp nhận H0, nghĩa là việc những người mắc căn bệnh về tim mạch và bệnh tiểu đường là không độc lập với nhau.

2.3 Phân tích việc những người mắc bệnh tim liên quan đến giới tính

2.3.1 Lập bảng tần số

gt <-table(data$sex,data$hd)
gt
##    
##      No Yes
##   F 343  53
##   M 155  33
  • Có 343 người nữ không mắc bệnh về tim mạch và 53 người nữ còn lại mắc các bệnh về tim mạch
  • Có 155 người nam không mắc bệnh về tim mạch và 33 người nam còn lại mắc các bệnh về tim mạch
ggplot(data, aes(sex, fill = hd)) + geom_bar(position = 'dodge')

2.3.2 Rủi ro tương đối

RelRisk(gt)
## [1] 1.05057
library(epitools)
riskratio(gt)
## $data
##        
##          No Yes Total
##   F     343  53   396
##   M     155  33   188
##   Total 498  86   584
## 
## $measure
##    risk ratio with 95% C.I.
##     estimate     lower   upper
##   F 1.000000        NA      NA
##   M 1.311521 0.8805119 1.95351
## 
## $p.value
##    two-sided
##     midp.exact fisher.exact chi.square
##   F         NA           NA         NA
##   M  0.1895993    0.2112477  0.1840371
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

Theo kết quả trên ta thấy tỷ lệ rủi ro tương đối của những người có mắc bệnh tim theo giới tính là 1,3115 tức là tỷ lệ rủi ro những người nam mắc các bệnh về tim mạch gấp 1,311 lần tỷ lệ những người nữ mắc bệnhtim mạch

riskratio(gt, rev = "c")
## $data
##        
##         Yes  No Total
##   F      53 343   396
##   M      33 155   188
##   Total  86 498   584
## 
## $measure
##    risk ratio with 95% C.I.
##     estimate     lower    upper
##   F 1.000000        NA       NA
##   M 0.951864 0.8817793 1.027519
## 
## $p.value
##    two-sided
##     midp.exact fisher.exact chi.square
##   F         NA           NA         NA
##   M  0.1895993    0.2112477  0.1840371
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

Theo kết quả trên ta thấy tỷ lệ rủi ro tương đối của những người có mắc bệnh tim theo giới tính là 0,9518 tức là tỷ lệ những người mắc bệnh tim là nam ít hơn và tỷ lệ những người mắc bệnh tim là nữ

2.3.3 Tỷ lệ chênh

epitab(gt, method = 'oddsratio', rev='c') 
## $tab
##    
##     Yes        p0  No       p1 oddsratio     lower    upper   p.value
##   F  53 0.6162791 343 0.688755 1.0000000        NA       NA        NA
##   M  33 0.3837209 155 0.311245 0.7257708 0.4517045 1.166124 0.2112477
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỷ lệ chênh là 0,725 tức là tỷ lệ những người có mắc bệnh tim/ những người không mắc bệnh tim ở giới tính nam chỉ bằng 72,57% tỷ lệ nhữung người có mắc bệnh tim/những người không mắc bệnh tim ở giưới tính nữ

2.4 Phân tích việc những người mắc bệnh tim liên quan đến hút thuốc lá

2.4.1 Lập bảng tần số

sk <-table(data$sk,data$hd)
sk
##      
##        No Yes
##   No  293  35
##   Yes 205  51
  • Có 293 người không hút thuốc không mắc bệnh về tim mạch và có 35 người không hút thuốc vẫn mắc các bệnh về tim mạch
  • Có 205 người hút thuốc nhưng không mắc các căn bệnh về tim mạch nhưng có 51 người hút thuốc vẫn mắc bệnh về tim mạch
ggplot(data, aes(sk, fill = hd)) + geom_bar(position = 'dodge')

2.4.2 Rủi ro tương đối

RelRisk(sk)
## [1] 1.115526
riskratio(sk)
## $data
##        
##          No Yes Total
##   No    293  35   328
##   Yes   205  51   256
##   Total 498  86   584
## 
## $measure
##      risk ratio with 95% C.I.
##       estimate    lower    upper
##   No  1.000000       NA       NA
##   Yes 1.866964 1.254036 2.779469
## 
## $p.value
##      two-sided
##        midp.exact fisher.exact  chi.square
##   No           NA           NA          NA
##   Yes 0.001941744  0.002132283 0.001745898
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

Theo kết quả trên ta thấy tỷ lệ rủi ro tương đối của những người có mắc bệnh tim có liên quan đến việc hút thuốc là 1,8669 tức là tỷ lệ những người có hút thuốc mắc các bệnh về tim mạch gấp 1,866 lần tỷ lệ những người không hút thuốc mắc bệnh tim mạch

riskratio(sk, rev = "c")
## $data
##        
##         Yes  No Total
##   No     35 293   328
##   Yes    51 205   256
##   Total  86 498   584
## 
## $measure
##      risk ratio with 95% C.I.
##        estimate     lower     upper
##   No  1.0000000        NA        NA
##   Yes 0.8964377 0.8344642 0.9630138
## 
## $p.value
##      two-sided
##        midp.exact fisher.exact  chi.square
##   No           NA           NA          NA
##   Yes 0.001941744  0.002132283 0.001745898
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

2.4.3 Tỷ lệ chênh

epitab(sk, method = 'oddsratio', rev='c') 
## $tab
##      
##       Yes        p0  No        p1 oddsratio     lower     upper     p.value
##   No   35 0.4069767 293 0.5883534 1.0000000        NA        NA          NA
##   Yes  51 0.5930233 205 0.4116466 0.4801579 0.3013762 0.7649961 0.002132283
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỷ lệ chênh là 0,48 tức là tỷ lệ những người có mắc bệnh tim/ những người không mắc bệnh tim ở những người không hút thuốc bằng 48,01% tỷ lệ những người có mắc bệnh tim/những người không mắc bệnh tim ở những người hút thuốc

2.5 Phân tích việc những người mắc bệnh tim liên quan đến bệnh tiểu đường

2.5.1 Lập bảng tần số

td <-table(data$dia,data$hd)
td
##      
##        No Yes
##   No  393  50
##   Yes 105  36
  • Có 393 người không mắc bệnh về tiểu đường và không mắc bệnh về tim mạch và có 50 người không bị tiểu đường vẫn mắc các bệnh về tim mạch
  • Có 105 người bị tiểu đường nhưng không mắc các căn bệnh về tim mạch, bên cạnh đó có 36 người bị tiểu đường vẫn mắc bệnh về tim mạch

2.5.2 Rủi ro tương đối

RelRisk(td)
## [1] 1.191293
riskratio(td)
## $data
##        
##          No Yes Total
##   No    393  50   443
##   Yes   105  36   141
##   Total 498  86   584
## 
## $measure
##      risk ratio with 95% C.I.
##       estimate    lower    upper
##   No  1.000000       NA       NA
##   Yes 2.262128 1.540476 3.321844
## 
## $p.value
##      two-sided
##         midp.exact fisher.exact   chi.square
##   No            NA           NA           NA
##   Yes 8.202272e-05 0.0001023787 3.218672e-05
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

Theo kết quả trên ta thấy tỷ lệ rủi ro tương đối của những người có mắc bệnh tim có liên quan đến bệnh tiểu đường là 2,262 tức là tỷ lệ những người có bệnh tiểu đường mắc các bệnh về tim mạch gấp 2,262 lần tỷ lệ những người không bị bệnh tiểu đường nhưng mắc bệnh tim mạch

riskratio(td, rev = "c")
## $data
##        
##         Yes  No Total
##   No     50 393   443
##   Yes    36 105   141
##   Total  86 498   584
## 
## $measure
##      risk ratio with 95% C.I.
##       estimate     lower     upper
##   No  1.000000        NA        NA
##   Yes 0.839424 0.7578755 0.9297471
## 
## $p.value
##      two-sided
##         midp.exact fisher.exact   chi.square
##   No            NA           NA           NA
##   Yes 8.202272e-05 0.0001023787 3.218672e-05
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

2.5.3 Tỷ lệ chênh

epitab(td, method = 'oddsratio', rev='c') 
## $tab
##      
##       Yes        p0  No        p1 oddsratio    lower     upper      p.value
##   No   50 0.5813953 393 0.7891566 1.0000000       NA        NA           NA
##   Yes  36 0.4186047 105 0.2108434 0.3710772 0.229737 0.5993737 0.0001023787
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỷ lệ chênh là 0,371 tức là tỷ lệ những người có mắc bệnh tim/ những người không mắc bệnh tim ở những người không bị bệnh tiểu đường bằng 37,1% tỷ lệ những người có mắc bệnh tim/những người không mắc bệnh tim ở những người bị bệnh tiểu đường

3 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.

3.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)

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

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

3.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

3.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.

3.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.

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

4.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).

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

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