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
- Biến phụ thuộc định tính được chọn là biến hd (những người mắc bệnh tim)
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
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
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
AIC = 470,46
Deviance = 462,46
Brier Score = 0,1199881
AIC = 470,12
Deviance = 462,12
Brier Score = 0,1180961
AIC = 470,73
Deviance = 462,73
Brier Score = 0,1200402
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
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)
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]
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
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')
table(data$hd)
##
## No Yes
## 498 86
table(data$hd)/sum(table(data$hd))
##
## No Yes
## 0.8527397 0.1472603
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%.
table(data$sk)
##
## No Yes
## 328 256
table(data$sk)/sum(table(data$sk))
##
## No Yes
## 0.5616438 0.4383562
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%.
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
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%.
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%.
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
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
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
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
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.
gt <-table(data$sex,data$hd)
gt
##
## No Yes
## F 343 53
## M 155 33
ggplot(data, aes(sex, fill = hd)) + geom_bar(position = 'dodge')
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ữ
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ữ
sk <-table(data$sk,data$hd)
sk
##
## No Yes
## No 293 35
## Yes 205 51
ggplot(data, aes(sk, fill = hd)) + geom_bar(position = 'dodge')
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"
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
td <-table(data$dia,data$hd)
td
##
## No Yes
## No 393 50
## Yes 105 36
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"
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
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.
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)
bmi: chỉ số khối cơ thể BMI
sk: (Smoking) là người đó có hút thuốc hay không (yes/no)
ad: (Alcohol drinking) là những người nghiện rượu nặng
stroke: là người đó đã từng đột quỵ chưa (yes/no)
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)
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)
dw:(Diff walking) người gặp khó khăn nghiêm trọng khi đi bộ hoặc leo cầu thang
sex: giới tính (M:nam/ F:nữ)
agec: độ tuổi
dia: (diabetic) người bị mắc bệnh tiểu đường (yes/no)
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)
Dữ liệu này thu tập được gồm 584 quan sát, trong đó có tổng cộng 12 biến gồm 8 biến định tính và 3 biến định lượng
Nguồn: https://www.kaggle.com/code/andls555/heart-disease-prediction/
setwd("C:/PTDLDT")
library(xlsx)
library(readxl)
data <- read.xlsx("data.xlsx",1)
data
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.
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.
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).
Dữ liệu này thu tập được gồm 373 quan sát, trong đó có tổng cộng 6 biến gồm 3 biến định tính và 3 biến định lượng
Nguồn: https://www.kaggle.com/datasets/rkiattisak/salaly-prediction-for-beginer
setwd("C:/PTDLDT")
library(xlsx)
library(readxl)
d <- read.xlsx("dataa.xlsx",1)
d