library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.1
library(scales)
## Warning: package 'scales' was built under R version 4.3.1
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.1
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.1
## Warning: package 'tidyr' was built under R version 4.3.1
## Warning: package 'readr' was built under R version 4.3.1
## Warning: package 'purrr' was built under R version 4.3.1
## Warning: package 'forcats' was built under R version 4.3.1
## Warning: package 'lubridate' was built under R version 4.3.1
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ lubridate 1.9.2     ✔ tibble    3.2.1
## ✔ purrr     1.0.1     ✔ tidyr     1.3.0
## ✔ readr     2.1.4
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ readr::col_factor() masks scales::col_factor()
## ✖ purrr::discard()    masks scales::discard()
## ✖ dplyr::filter()     masks stats::filter()
## ✖ dplyr::lag()        masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(tidyselect)
## Warning: package 'tidyselect' was built under R version 4.3.1
library(epitools)
library(DescTools)
## Warning: package 'DescTools' was built under R version 4.3.1
library(caTools)
## Warning: package 'caTools' was built under R version 4.3.1
library(readxl)
PTDLDT <- read_excel("C:/Users/Abc/Downloads/PTDLDT.xlsx")
View(PTDLDT)
PTDLDT
## # A tibble: 607 × 6
##    experience_level employment_type   salary salary_in_usd remote_ratio
##    <chr>            <chr>              <dbl>         <dbl>        <dbl>
##  1 MI               FT                 70000         79833            0
##  2 SE               FT                260000        260000            0
##  3 SE               FT                 85000        109024           50
##  4 MI               FT                 20000         20000            0
##  5 SE               FT                150000        150000           50
##  6 EN               FT                 72000         72000          100
##  7 SE               FT                190000        190000          100
##  8 MI               FT              11000000         35735           50
##  9 MI               FT                135000        135000          100
## 10 SE               FT                125000        125000           50
## # ℹ 597 more rows
## # ℹ 1 more variable: company_size <chr>
salary_in_usd<-PTDLDT$salary_in_usd
experience_level<-PTDLDT$experience_level
employment_type<-PTDLDT$employment_type
company_size<-PTDLDT$company_size
salary<-PTDLDT$salary
remote_ratio<-PTDLDT$remote_ratio

BÀI TẬP VỀ NHÀ TUẦN 6 (CÂU 5): CHẠY MÔ HÌNH HỒI QUY

Câu 5: Chạy mô hình hồi quy của các biến định tính trong câu số 2, thực hiện các bài toán liên quan.

  • Biến phụ thuộc: salary_in_usd (Mức lương theo USD) nhận hai giá trị là Thấp/Cao

  • Các biến độc lập: experience_level, employment_type, company_size, salary, remote_ratio

1.1 Mô hình logit

salary_in_usd <- cut(PTDLDT$salary_in_usd, breaks = c(2859,90000,600000), labels=c("Thấp","Cao"))
table(salary_in_usd)
## salary_in_usd
## Thấp  Cao 
##  253  353
salary <- cut(PTDLDT$salary, breaks = c(4000,150000,30400000), labels=c("khong tot","tot"))
table(salary)
## salary
## khong tot       tot 
##       418       187
  • Tôi mã hóa biến định lượng salary thành biến định tính 2 giá trị để đưa vào mô hình vì muốn biết cụ thể nhóm mức lương như thế nào sẽ ảnh hưởng đến Lương theo USD và mức độ tác động của nó như thế nào.
k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
mh1 <- glm(data = k, formula = factor(salary_in_usd) ~ PTDLDT$experience_level + PTDLDT$employment_type + PTDLDT$company_size + PTDLDT$remote_ratio + salary, family = binomial(link = "logit"))
levels(factor(salary_in_usd))
## [1] "Thấp" "Cao"
summary(mh1)
## 
## Call:
## glm(formula = factor(salary_in_usd) ~ PTDLDT$experience_level + 
##     PTDLDT$employment_type + PTDLDT$company_size + PTDLDT$remote_ratio + 
##     salary, family = binomial(link = "logit"), data = k)
## 
## Coefficients:
##                            Estimate Std. Error z value Pr(>|z|)    
## (Intercept)               -0.096694   1.258840  -0.077  0.93877    
## PTDLDT$experience_levelEX  2.590469   0.632466   4.096 4.21e-05 ***
## PTDLDT$experience_levelMI  0.732791   0.320808   2.284  0.02236 *  
## PTDLDT$experience_levelSE  2.560422   0.330320   7.751 9.09e-15 ***
## PTDLDT$employment_typeFL  -2.385714   1.719335  -1.388  0.16527    
## PTDLDT$employment_typeFT  -1.582850   1.245680  -1.271  0.20385    
## PTDLDT$employment_typePT  -2.820820   1.652990  -1.706  0.08792 .  
## PTDLDT$company_sizeM       0.285606   0.223998   1.275  0.20230    
## PTDLDT$company_sizeS      -0.938693   0.335729  -2.796  0.00517 ** 
## PTDLDT$remote_ratio        0.003770   0.002446   1.542  0.12315    
## salarytot                  1.019811   0.238360   4.278 1.88e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 820.01  on 603  degrees of freedom
## Residual deviance: 605.91  on 593  degrees of freedom
##   (3 observations deleted due to missingness)
## AIC: 627.91
## 
## Number of Fisher Scoring iterations: 4
  • Kiểm định sự phù hợp của mô hình 1

Cặp giả thuyết - đối thuyết:

H0: Mô hình không phù hợp với dữ liệu điều tra

H1: Mô hình phù hợp với dữ liệu điều tra

lr_test1 <- anova(mh1, test = "Chisq")
p_value1 <- lr_test1$Pr[2]
p_value1
## [1] 6.357698e-37

Giả thuyết H0: mô hình không phù hợp Với P-value1 = Prob(LR) = 6.357698e-37 < 5% bác bỏ giả thuyết H0 nên mô hình 1 phù hợp với dữ liệu.

1.2 Mô hình probit

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
mh2 <- glm(data = k, formula = factor(salary_in_usd) ~ PTDLDT$experience_level + PTDLDT$employment_type + PTDLDT$company_size + PTDLDT$remote_ratio + salary, family = binomial(link = "probit"))
levels(factor(salary_in_usd))
## [1] "Thấp" "Cao"
summary(mh2)
## 
## Call:
## glm(formula = factor(salary_in_usd) ~ PTDLDT$experience_level + 
##     PTDLDT$employment_type + PTDLDT$company_size + PTDLDT$remote_ratio + 
##     salary, family = binomial(link = "probit"), data = k)
## 
## Coefficients:
##                            Estimate Std. Error z value Pr(>|z|)    
## (Intercept)               -0.048187   0.738978  -0.065  0.94801    
## PTDLDT$experience_levelEX  1.518664   0.355241   4.275 1.91e-05 ***
## PTDLDT$experience_levelMI  0.393762   0.184922   2.129  0.03323 *  
## PTDLDT$experience_levelSE  1.501726   0.188459   7.968 1.61e-15 ***
## PTDLDT$employment_typeFL  -1.441517   1.008698  -1.429  0.15298    
## PTDLDT$employment_typeFT  -0.943365   0.727724  -1.296  0.19486    
## PTDLDT$employment_typePT  -1.615889   0.917474  -1.761  0.07820 .  
## PTDLDT$company_sizeM       0.195566   0.131635   1.486  0.13737    
## PTDLDT$company_sizeS      -0.508666   0.193133  -2.634  0.00844 ** 
## PTDLDT$remote_ratio        0.002329   0.001433   1.625  0.10407    
## salarytot                  0.617905   0.137315   4.500 6.80e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 820.01  on 603  degrees of freedom
## Residual deviance: 605.00  on 593  degrees of freedom
##   (3 observations deleted due to missingness)
## AIC: 627
## 
## Number of Fisher Scoring iterations: 5
  • Kiểm định sự phù hợp của mô hình 2

Cặp giả thuyết - đối thuyết:

H0: Mô hình không phù hợp với dữ liệu điều tra

H1: Mô hình phù hợp với dữ liệu điều tra

lr_test2 <- anova(mh2, test = "Chisq")
p_value2 <- lr_test2$Pr[2]
p_value2
## [1] 6.357698e-37

Giả thuyết H0: mô hình không phù hợp Với P-value1 = Prob(LR) = 6.357698e-37 < 5% bác bỏ giả thuyết H0 nên mô hình 2 phù hợp với dữ liệu.

1.3 Mô hình cloglog

mh3 <- glm(data = k, formula = factor(salary_in_usd) ~ PTDLDT$experience_level + PTDLDT$employment_type + PTDLDT$company_size + PTDLDT$remote_ratio + salary, family = binomial(link = "cloglog"))
levels(factor(salary_in_usd))
## [1] "Thấp" "Cao"
summary(mh3)
## 
## Call:
## glm(formula = factor(salary_in_usd) ~ PTDLDT$experience_level + 
##     PTDLDT$employment_type + PTDLDT$company_size + PTDLDT$remote_ratio + 
##     salary, family = binomial(link = "cloglog"), data = k)
## 
## Coefficients:
##                            Estimate Std. Error z value Pr(>|z|)    
## (Intercept)               -0.682208   0.765516  -0.891   0.3728    
## PTDLDT$experience_levelEX  1.821550   0.371831   4.899 9.64e-07 ***
## PTDLDT$experience_levelMI  0.668820   0.272350   2.456   0.0141 *  
## PTDLDT$experience_levelSE  1.809842   0.262905   6.884 5.82e-12 ***
## PTDLDT$employment_typeFL  -1.751663   1.258125  -1.392   0.1638    
## PTDLDT$employment_typeFT  -1.146283   0.752519  -1.523   0.1277    
## PTDLDT$employment_typePT  -2.261708   1.262585  -1.791   0.0732 .  
## PTDLDT$company_sizeM       0.294242   0.140374   2.096   0.0361 *  
## PTDLDT$company_sizeS      -0.584785   0.240411  -2.432   0.0150 *  
## PTDLDT$remote_ratio        0.003174   0.001530   2.075   0.0380 *  
## salarytot                  0.719514   0.136006   5.290 1.22e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 820.01  on 603  degrees of freedom
## Residual deviance: 594.41  on 593  degrees of freedom
##   (3 observations deleted due to missingness)
## AIC: 616.41
## 
## Number of Fisher Scoring iterations: 7
  • Kiểm định sự phù hợp của mô hình 3

Cặp giả thuyết - đối thuyết:

H0: Mô hình không phù hợp với dữ liệu điều tra

H1: Mô hình phù hợp với dữ liệu điều tra

lr_test3 <- anova(mh3, test = "Chisq")
p_value3 <- lr_test3$Pr[2]
p_value3
## [1] 6.357698e-37

Giả thuyết H0: mô hình không phù hợp Với P-value1 = Prob(LR) = 6.357698e-37 < 5% bác bỏ giả thuyết H0 nên mô hình 3 phù hợp với dữ liệu.

1.4 Lựa chọn mô hình logit, probit, clolog

Để đánh giá các mô hình hồi quy trên, ta sử dụng các tiêu chí sau:

# Tiêu chí AIC - Akaike Information Criterion
aiclo <- AIC(mh1)
aicpro <- AIC(mh2)
aicclo <- AIC(mh3)
AIC <-cbind(aiclo,aicpro,aicclo)
AIC
##         aiclo   aicpro   aicclo
## [1,] 627.9061 626.9969 616.4107
# Tiêu chí Deviance
delo <- deviance(mh1)
depro <- deviance(mh2)
declo <- deviance(mh3)
deviance <- cbind(delo,depro,declo)
deviance
##          delo    depro    declo
## [1,] 605.9061 604.9969 594.4107
# Tiêu chí Brier Score
bslo <- BrierScore(mh1)
bspro <- BrierScore(mh2)
bsclo <- BrierScore(mh3)
BrierScore <- cbind(bslo,bspro,bsclo)
BrierScore
##           bslo     bspro    bsclo
## [1,] 0.1655353 0.1658352 0.163938

Dựa vào các tiêu chí trên, ta thấy các giá trị AIC, deviance và Brier Score của mô hình cloglog là nhỏ nhất, tức là mô hình cloglog là mô hình tốt nhất trong 3 mô hình.

1.5 Chạy mô hình phù hợp nhất

MÔ HÌNH CLOGOG

summary(mh3)
## 
## Call:
## glm(formula = factor(salary_in_usd) ~ PTDLDT$experience_level + 
##     PTDLDT$employment_type + PTDLDT$company_size + PTDLDT$remote_ratio + 
##     salary, family = binomial(link = "cloglog"), data = k)
## 
## Coefficients:
##                            Estimate Std. Error z value Pr(>|z|)    
## (Intercept)               -0.682208   0.765516  -0.891   0.3728    
## PTDLDT$experience_levelEX  1.821550   0.371831   4.899 9.64e-07 ***
## PTDLDT$experience_levelMI  0.668820   0.272350   2.456   0.0141 *  
## PTDLDT$experience_levelSE  1.809842   0.262905   6.884 5.82e-12 ***
## PTDLDT$employment_typeFL  -1.751663   1.258125  -1.392   0.1638    
## PTDLDT$employment_typeFT  -1.146283   0.752519  -1.523   0.1277    
## PTDLDT$employment_typePT  -2.261708   1.262585  -1.791   0.0732 .  
## PTDLDT$company_sizeM       0.294242   0.140374   2.096   0.0361 *  
## PTDLDT$company_sizeS      -0.584785   0.240411  -2.432   0.0150 *  
## PTDLDT$remote_ratio        0.003174   0.001530   2.075   0.0380 *  
## salarytot                  0.719514   0.136006   5.290 1.22e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 820.01  on 603  degrees of freedom
## Residual deviance: 594.41  on 593  degrees of freedom
##   (3 observations deleted due to missingness)
## AIC: 616.41
## 
## Number of Fisher Scoring iterations: 7

Đối với mô hình hồi quy cloglog của biến phụ thuộc Lương theo USD (salary_in_usd) với các biến độc lập ta thấy rằng yếu tố Mức độ kinh nghiệm (experience_level) có ý nghĩa thống kê ở mức ý nghĩa khác nhau; Quy mô công ty (company_size) có ý nghĩa thống kê ở mức ý nghĩa 5%; Tổng khối lượng công việc được thực hiện từ xa (remote_ratio) có ý nghĩa thống kê ở mức 5% và Tổng số tiền lương gộp (salary) cũng có ý nghĩa và tác động đến Lương theo USD. Hình thức làm việc (employment_type) chỉ có employment_typePT có ý nghĩa thống kê ở mức 10% và ít tác động tới salary_in_usd nên tôi sẽ loại biến employment_type và chạy lại mô hình như sau:

mh4 <- glm(data = k, formula = factor(salary_in_usd) ~ PTDLDT$experience_level + PTDLDT$company_size + PTDLDT$remote_ratio + salary, family = binomial(link = "cloglog"))
levels(factor(salary_in_usd))
## [1] "Thấp" "Cao"
summary(mh4)
## 
## Call:
## glm(formula = factor(salary_in_usd) ~ PTDLDT$experience_level + 
##     PTDLDT$company_size + PTDLDT$remote_ratio + salary, family = binomial(link = "cloglog"), 
##     data = k)
## 
## Coefficients:
##                            Estimate Std. Error z value Pr(>|z|)    
## (Intercept)               -1.837257   0.283277  -6.486 8.83e-11 ***
## PTDLDT$experience_levelEX  1.849037   0.366193   5.049 4.43e-07 ***
## PTDLDT$experience_levelMI  0.651841   0.267335   2.438   0.0148 *  
## PTDLDT$experience_levelSE  1.807975   0.256324   7.053 1.74e-12 ***
## PTDLDT$company_sizeM       0.291738   0.140275   2.080   0.0375 *  
## PTDLDT$company_sizeS      -0.600452   0.237110  -2.532   0.0113 *  
## PTDLDT$remote_ratio        0.003344   0.001529   2.188   0.0287 *  
## salarytot                  0.722312   0.135619   5.326 1.00e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 820.01  on 603  degrees of freedom
## Residual deviance: 599.01  on 596  degrees of freedom
##   (3 observations deleted due to missingness)
## AIC: 615.01
## 
## Number of Fisher Scoring iterations: 7
  • Giải thích kết quả:

    • Mức độ kinh nghiệm (experience_level) có ảnh hưởng đến Lương theo USD (salary_in_usd) với hệ số mang dấu (+) cho thấy Lương theo USD (salary_in_usd) cao nhất ở mức kinh nghiêm EX (Giám đốc), EN (Chuyên gia) tiếp sau đó là MI (Trung cấp).

    • Ở mức ý nghĩa 5%, Quy mô công ty (company_size) có ảnh hưởng đến Lương theo USD (salary_in_usd): Với Quy mô công ty S hệ số mang dấu (-) cho thấy Lương theo USD (salary_in_usd) cao khi Quy mô công ty (company_size) là M, L/ Với Quy mô công ty M hệ số mang dấu (+) cho thấy Lương theo USD (salary_in_usd) cao khi Quy mô công ty (company_size) là M.

    • Ở mức ý nghĩa 5%, Tổng khối lượng công việc được thực hiện từ xa (remote_ratio) có ảnh hưởng đến Lương theo USD (salary_in_usd) với hệ số mang dấu (+) cho thấy Lương theo USD (salary_in_usd) cao khi Tổng khối lượng công việc được thực hiện từ xa nhiều.

    • Tổng số tiền lương gộp (salary) có ảnh hưởng đến Lương theo USD (salary_in_usd) với hệ số mang dấu (+) cho thấy Lương theo USD (salary_in_usd) cao khi Tổng số tiền lương gộp (salary) tốt (salarytot) .

MH4: cloglog(π) = log(−log(1−π)) = -1.837257 + 1.849037experience_levelEX + 0.651841experience_levelMI + 1.807975experience_levelSE + 0.291738company_sizeM - 0.600452company_sizeS + 0.003344remote_ratio + 0.722312salarytot

BÀI TẬP VỀ NHÀ TUẦN 5 (CÂU 4)

PHÂN TÍCH THỐNG KÊ MÔ TẢ BIẾN PHỤ THUỘC VỚI CÁC BIẾN ĐỘC LẬP VÀ PHÂN TÍCH KẾT QUẢ

3.1 Thống kê mô tả biến phụ thuộc: salary_in_usd với biến độc lập experience_level

3.1.1 Mã hoá biến phụ thuộc salary_in_usd từ định lượng sang định tính

Với dữ liệu gốc, biến Lương theo USD là biến định lượng nhận các giá trị từ 2859 USD đến 600000 USD nên tác giả đã đặt quy ước về việc mã hoá biến salary_in_usd như sau: Lương thấp (Thấp): Lương thấp từ trên 2859 đến 90000. Lương cao (Cao): Lương cao 90000 đến 600000.

salary_in_usd <- cut(PTDLDT$salary_in_usd, breaks = c(2859,90000,600000), labels=c("Thấp","Cao"))
table(salary_in_usd)
## salary_in_usd
## Thấp  Cao 
##  253  353

3.1.2 Mã hoá biến experience_level định tính có 2 giá trị

Với dữ liệu gốc, biến Mức độ kinh nghiệm (experience_level) là biến định tính nhận 4 giá trị: EN = Entry-level / Junior: Sơ cấp; MI = Mid-level / Intermediate: Trung cấp; SE = Senior-level / Expert: Chuyên gia; EX = Executive-level / Director: Giám đốc. Tác giả đã đặt quy ước về việc mã hoá 2 giá trị biến (experience_level) như sau: Mức độ kinh nghiệm yếu (yếu): EN và MI; Mức độ kinh nghiệm mạnh (mạnh): SE và EX

p <- table(PTDLDT$experience_level, salary_in_usd); p
##     salary_in_usd
##      Thấp Cao
##   EN   70  18
##   EX    4  22
##   MI  131  81
##   SE   48 232
i <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
experience_level <- i %>% mutate(kinhnghiem = case_when(PTDLDT$experience_level == "EN" ~ 1, PTDLDT$experience_level =="MI" ~ 1, PTDLDT$experience_level =="SE" ~ 4, PTDLDT$experience_level =="EX" ~ 4))
experience_level <- cut(experience_level$kinhnghiem, breaks = c(0,2,5), labels = c("YẾU", "MẠNH"))
table(experience_level)
## experience_level
##  YẾU MẠNH 
##  301  306

3.1.3 Bảng tần số, tần suất và biểu đồ

Bảng tần số:

g <- table(experience_level, salary_in_usd); g
##                 salary_in_usd
## experience_level Thấp Cao
##             YẾU   201  99
##             MẠNH   52 254

Bảng tần suất:

g1 <- prop.table(g); g1
##                 salary_in_usd
## experience_level       Thấp        Cao
##             YẾU  0.33168317 0.16336634
##             MẠNH 0.08580858 0.41914191

Phân phối biên:

addmargins(g)
##                 salary_in_usd
## experience_level Thấp Cao Sum
##             YẾU   201  99 300
##             MẠNH   52 254 306
##             Sum   253 353 606

Biểu đồ cột kết hợp 2 biến:

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
k |> ggplot(aes(x=experience_level,y=after_stat(count))) + geom_bar(fill="pink") + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = "count", color = "blue", vjust = - .5) + facet_grid(. ~salary_in_usd) + labs(x = "Mức độ kinh nghiệm",y = "Số người")

Thông qua bảng tần số, tần suất trên của 2 biến Lương theo USD và Mức độ kinh nghiệm ta thấy có 253 người có Lương theo USD thấp trong đó có 201 người có mức độ kinh nghiệm yếu, chiếm tỉ lệ 33,1% tổng người được khảo sát và 52 người có mức độ kinh nghiệm mạnh, chiếm tỉ lệ 8,6% tổng số người. Bên cạnh đó có 353 người có Lương theo USD cao trong đó có 99 người có mức độ kinh nghiệm yếu, chiếm tỉ lệ 16,3% tổng người được khảo sát và 254 người có mức độ kinh nghiệm mạnh, chiếm tỉ lệ 41,8% tổng số người.

3.1.4 Rủi ro tương đối (Risk ratio)

epitab(g, method = "riskratio")
## $tab
##                 salary_in_usd
## experience_level Thấp        p0 Cao        p1 riskratio    lower    upper
##             YẾU   201 0.6700000  99 0.3300000   1.00000       NA       NA
##             MẠNH   52 0.1699346 254 0.8300654   2.51535 2.124192 2.978536
##                 salary_in_usd
## experience_level      p.value
##             YẾU            NA
##             MẠNH 2.951568e-37
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỉ lệ rủi ro tương đối (risk ratio) của hành khách có Lương USD cao theo Mức độ kinh nghiệm là 2.51535 tức là tỉ lệ những người ở mức độ kinh nghiệm mạnh có Lương USD cao lớn gấp 2.51535 tỉ lệ những người ở mức độ kinh nghiệm yếu có Lương USD cao.

3.4.4 Tỷ lệ chênh lệch (odd ratio)

epitab(g, method = "oddsratio")
## $tab
##                 salary_in_usd
## experience_level Thấp        p0 Cao        p1 oddsratio    lower    upper
##             YẾU   201 0.7944664  99 0.2804533  1.000000       NA       NA
##             MẠNH   52 0.2055336 254 0.7195467  9.917249 6.759737 14.54965
##                 salary_in_usd
## experience_level      p.value
##             YẾU            NA
##             MẠNH 2.951568e-37
## 
## $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 (odd ratio) là 9.917249 tức tỉ lệ những người Lương theo USD cao/những người Lương theo USD thấp ở nhóm có mức kinh nghiệm mạnh lớn gấp 9.917249 tỉ lệ những người Lương theo USD cao/những người Lương theo USD thấp ở nhóm có mức kinh nghiệm yếu.

3.4.5 Thống kê suy diễn

Kiểm định tính độc lập cho 2 biến (salary_in_usd) và (experience_level):

Phương pháp chi bình phương: Giả thuyết Ho: salary_in_usd và experience_level độc lập

g <- table(experience_level, salary_in_usd); g
##                 salary_in_usd
## experience_level Thấp Cao
##             YẾU   201  99
##             MẠNH   52 254
chisq.test(g)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  g
## X-squared = 153.72, df = 1, p-value < 2.2e-16

Kết quả kiểm định trên cho thấy giá trị tới hạn p-value < 2.2e-16 < 5% vì vậy chưa có cơ sở để thừa nhận giả thuyết Ho, nói cách khác giữa Lương theo USD và Mức độ kinh nghiệm có liên quan tới nhau.

3.2 Thống kê mô tả biến phụ thuộc: salary_in_usd với biến độc lập employment_type

3.2.1 Mã hoá biến employment_type định tính có 2 giá trị

Với dữ liệu gốc, biến Loại việc làm (employment_type) là biến định tính nhận 4 giá trị: PT, FT, CT, FL. Tác giả đã đặt quy ước về việc mã hoá 2 giá trị biến (employment_type) như sau: Làm việc chính thức (chính thức): CT; Làm việc không chính thức (không chính thức): PT, FT và FL

a <- table(PTDLDT$employment_type, salary_in_usd); a
##     salary_in_usd
##      Thấp Cao
##   CT    1   4
##   FL    3   1
##   FT  240 347
##   PT    9   1
b <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
employment_type <- b %>% mutate(loai= case_when(PTDLDT$employment_type == "CT" ~ 1, PTDLDT$employment_type =="FT" ~ 4, PTDLDT$employment_type =="PT" ~ 4, PTDLDT$employment_type =="FL" ~ 4))
employment_type <- cut(employment_type$loai, breaks = c(0,1,5), labels = c("chinh thuc", "khong chinh thuc"))
table(employment_type)
## employment_type
##       chinh thuc khong chinh thuc 
##                5              602

3.2.2 Bảng tần số, tần suất và biểu đồ

Bảng tần số:

e <- table(employment_type, salary_in_usd); e
##                   salary_in_usd
## employment_type    Thấp Cao
##   chinh thuc          1   4
##   khong chinh thuc  252 349

Bảng tần suất:

e1 <- prop.table(e); e1
##                   salary_in_usd
## employment_type           Thấp         Cao
##   chinh thuc       0.001650165 0.006600660
##   khong chinh thuc 0.415841584 0.575907591

Phân phối biên:

addmargins(e)
##                   salary_in_usd
## employment_type    Thấp Cao Sum
##   chinh thuc          1   4   5
##   khong chinh thuc  252 349 601
##   Sum               253 353 606

Biểu đồ cột kết hợp 2 biến:

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
k |> ggplot(aes(x=employment_type,y=after_stat(count))) + geom_bar(fill="pink") + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = "count", color = "blue", vjust = - .5) + facet_grid(. ~salary_in_usd) + labs(x = "Loại việc làm",y = "Số người")

Thông qua bảng tần số, tần suất trên của 2 biến Lương theo USD và Loại việc làm ta thấy có 253 người có Lương theo USD thấp trong đó có 1 người có loại việc làm chính thức, chiếm tỉ lệ 0,16% tổng người được khảo sát và 252 người có loại việc làm không chính thức, chiếm tỉ lệ 41,52% tổng số người khảo sát. Bên cạnh đó có 353 người có Lương theo USD cao trong đó có 4 người có loại việc làm chính thức, chiếm tỉ lệ 0,66% tổng người được khảo sát và 349 người có loại việc làm không chính thức, chiếm tỉ lệ 57,5% tổng số người khảo sát. Qua biểu đồ có thể thấy đối với những người có Lương theo USD cao và thấp thì tỷ lệ những người có Loại việc làm chính thức đều ít hơn những người có Loại việc làm không chính thức và mức độ chênh lệch của 2 nhóm này rất lớn. ### 3.2.3 Rủi ro tương đối (Risk ratio)

epitab(e, method = "riskratio")
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $tab
##                   salary_in_usd
## employment_type    Thấp        p0 Cao        p1 riskratio     lower    upper
##   chinh thuc          1 0.2000000   4 0.8000000 1.0000000        NA       NA
##   khong chinh thuc  252 0.4193012 349 0.5806988 0.7258735 0.4658578 1.131016
##                   salary_in_usd
## employment_type      p.value
##   chinh thuc              NA
##   khong chinh thuc 0.4067248
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỉ lệ rủi ro tương đối (risk ratio) của người có Lương USD cao theo Loại việc làm là 0.7258735 tức là tỉ lệ những người làm việc không chính thức có Lương USD cao bằng 72,59% tỉ lệ những người làm việc chính thức có Lương USD cao.

3.2.4 Tỷ lệ chênh lệch (odd ratio)

epitab(e, method = "oddsratio")
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $tab
##                   salary_in_usd
## employment_type    Thấp          p0 Cao         p1 oddsratio      lower
##   chinh thuc          1 0.003952569   4 0.01133144 1.0000000         NA
##   khong chinh thuc  252 0.996047431 349 0.98866856 0.3462302 0.03846758
##                   salary_in_usd
## employment_type       upper   p.value
##   chinh thuc             NA        NA
##   khong chinh thuc 3.116269 0.4067248
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Tỷ lệ giữa những người có Lương theo USD cao/những người có Lương theo USD thấp ở những người có việc làm không chính thức bằng 34,62% Tỷ lệ giữa những người có Lương theo USD cao/những người có Lương theo USD thấp ở những người có việc làm chính thức.

3.2.5 Thống kê suy diễn

Kiểm định tính độc lập cho 2 biến (salary_in_usd) và (employment_type):

Phương pháp chi bình phương: Giả thuyết Ho: salary_in_usd và employment_type độc lập

e <- table(employment_type, salary_in_usd); e
##                   salary_in_usd
## employment_type    Thấp Cao
##   chinh thuc          1   4
##   khong chinh thuc  252 349
chisq.test(e)
## Warning in chisq.test(e): Chi-squared approximation may be incorrect
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  e
## X-squared = 0.28618, df = 1, p-value = 0.5927

Kết quả kiểm định trên cho thấy giá trị tới hạn p-value = 0.5927 > 5% vì vậy có cơ sở để thừa nhận giả thuyết Ho, nói cách khác giữa Lương theo USD và Loại việc làm không có liên quan tới nhau.

3.3 Thống kê mô tả biến phụ thuộc: salary_in_usd với biến độc lập company_size

3.3.1 Mã hoá biến company_size định tính có 2 giá trị

Với dữ liệu gốc, biến Quy mô công ty (company_size) là biến định tính nhận 3 giá trị: S, M, L. Tác giả đã đặt quy ước về việc mã hoá 2 giá trị biến (company_size) như sau: Quy mô nhỏ (nhỏ): S, M; Quy mô lớn (lớn): L

i <- table(PTDLDT$company_size, salary_in_usd); i
##    salary_in_usd
##     Thấp Cao
##   L   87 111
##   M  108 218
##   S   58  24
p <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
company_size <- p %>% mutate(mo=case_when(PTDLDT$company_size == "S" ~ 1, PTDLDT$company_size =="M" ~ 1, PTDLDT$company_size =="L" ~ 3))
company_size <- cut(company_size$mo, breaks = c(0,1,4), labels = c("nho", "lon"))
table(company_size)
## company_size
## nho lon 
## 409 198

3.3.2 Bảng tần số, tần suất và biểu đồ

Bảng tần số:

i <- table(company_size, salary_in_usd); i
##             salary_in_usd
## company_size Thấp Cao
##          nho  166 242
##          lon   87 111

Bảng tần suất:

i1 <- prop.table(i); i1
##             salary_in_usd
## company_size      Thấp       Cao
##          nho 0.2739274 0.3993399
##          lon 0.1435644 0.1831683

Phân phối biên:

addmargins(i)
##             salary_in_usd
## company_size Thấp Cao Sum
##          nho  166 242 408
##          lon   87 111 198
##          Sum  253 353 606

Biểu đồ cột kết hợp 2 biến:

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
k |> ggplot(aes(x=company_size,y=after_stat(count))) + geom_bar(fill="pink") + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = "count", color = "blue", vjust = - .5) + facet_grid(. ~salary_in_usd) + labs(x = "Quy mô công ty",y = "Số người")

Thông qua bảng tần số, tần suất trên của 2 biến Lương theo USD và Quy mô công ty ta thấy có 253 người có Lương theo USD thấp trong đó có 166 người làm việc trong công ty có quy mô nhỏ, chiếm tỉ lệ 27,3% tổng người được khảo sát và 87 người làm việc trong công ty có quy mô lớn, chiếm tỉ lệ 14,3% tổng số người khảo sát. Bên cạnh đó có 353 người có Lương theo USD cao trong đó có 242 người làm việc trong công ty có quy mô nhỏ, chiếm tỉ lệ 39,9% tổng người được khảo sát và 111 người làm việc trong công ty có quy mô lớn, chiếm tỉ lệ 18,3% tổng số người khảo sát. Qua biểu đồ có thể thấy đối với những người có Lương theo USD cao và thấp thì tỷ lệ những người quy mô công ty nhỏ đều lớn hơn những người làm việc ở công ty lớn.

3.3.3 Rủi ro tương đối (Risk ratio)

epitab(i, method = "riskratio")
## $tab
##             salary_in_usd
## company_size Thấp        p0 Cao        p1 riskratio     lower    upper  p.value
##          nho  166 0.4068627 242 0.5931373  1.000000        NA       NA       NA
##          lon   87 0.4393939 111 0.5606061  0.945154 0.8157908 1.095031 0.482534
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỉ lệ rủi ro tương đối (risk ratio) của người có Lương USD cao theo quy mô công ty là 0.945154 tức là tỉ lệ những người làm việc ở công ty lớn có Lương USD cao chỉ bằng 94,51% tỉ lệ những người làm việc ở công ty nhỏ có Lương USD cao

3.3.4 Tỷ lệ chênh lệch (odd ratio)

epitab(i, method = "oddsratio")
## $tab
##             salary_in_usd
## company_size Thấp        p0 Cao        p1 oddsratio     lower    upper  p.value
##          nho  166 0.6561265 242 0.6855524 1.0000000        NA       NA       NA
##          lon   87 0.3438735 111 0.3144476 0.8751781 0.6209435 1.233505 0.482534
## 
## $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 (odd ratio) là 0.8751781 tức tỉ lệ những người có lương theo USD cao/những người có lương theo USD thấp làm việc ở công ty quy mô lớn chỉ bằng khoảng 87,52% tỉ lệ những người có lương theo USD cao/những người có lương theo USD thấp làm việc ở công ty quy mô nhỏ

3.3.5 Thống kê suy diễn

Kiểm định tính độc lập cho 2 biến (salary_in_usd) và (company_size):

Phương pháp chi bình phương: Giả thuyết Ho: salary_in_usd và company_size độc lập

i <- table(company_size, salary_in_usd); i
##             salary_in_usd
## company_size Thấp Cao
##          nho  166 242
##          lon   87 111
chisq.test(i)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  i
## X-squared = 0.45404, df = 1, p-value = 0.5004

Kết quả kiểm định trên cho thấy giá trị tới hạn p-value = 0.5004 > 5% vì vậy có cơ sở để thừa nhận giả thuyết Ho, nói cách khác giữa Lương theo USD và quy mô công ty không có liên quan tới nhau.

3.4 Thống kê mô tả biến phụ thuộc: salary_in_usd với biến độc lập remote_ratio

3.4.1 Mã hoá biến remote_ratio định tính có 2 giá trị

Với dữ liệu gốc, biến Tổng khối lượng công việc thực hiện từ xa (remote_ratio) là biến định tính nhận 3 giá trị: 0, 50, 100. Tác giả đã đặt quy ước về việc mã hoá 2 giá trị biến (remote_ratio) như sau: Tổng khối lượng công việc thực hiện từ xa ít (ít): 0 và 50; Tổng khối lượng công việc thực hiện từ xa nhiều (nhiều): 100

x <- table(PTDLDT$remote_ratio, salary_in_usd); x
##      salary_in_usd
##       Thấp Cao
##   0     55  71
##   50    66  33
##   100  132 249
z <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
remote_ratio <- z %>% mutate(luong = case_when(PTDLDT$remote_ratio == "0" ~ 1, PTDLDT$remote_ratio =="50" ~ 1, PTDLDT$remote_ratio =="100" ~ 4))
remote_ratio <- cut(remote_ratio$luong, breaks = c(0,1,4), labels = c("it", "nhieu"))
table(remote_ratio)
## remote_ratio
##    it nhieu 
##   226   381

3.4.2 Bảng tần số, tần suất và biểu đồ

Bảng tần số:

x <- table(remote_ratio, salary_in_usd); x
##             salary_in_usd
## remote_ratio Thấp Cao
##        it     121 104
##        nhieu  132 249

Bảng tần suất:

x1 <- prop.table(x); x1
##             salary_in_usd
## remote_ratio      Thấp       Cao
##        it    0.1996700 0.1716172
##        nhieu 0.2178218 0.4108911

Phân phối biên:

addmargins(x)
##             salary_in_usd
## remote_ratio Thấp Cao Sum
##        it     121 104 225
##        nhieu  132 249 381
##        Sum    253 353 606

Biểu đồ cột kết hợp 2 biến:

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
k |> ggplot(aes(x=remote_ratio,y=after_stat(count))) + geom_bar(fill="pink") + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = "count", color = "blue", vjust = - .5) + facet_grid(. ~salary_in_usd) + labs(x = "Lương theo USD",y = "Số người")

Thông qua bảng tần số, tần suất trên của 2 biến Lương theo USD và Tổng khối lượng công việc thực hiện từ xa ta thấy có 253 người có Lươngg theo USD thấp trong đó có 121 người có Tổng khối lượng công việc thực hiện từ xa ít, chiếm tỉ lệ 19,9% tổng người được khảo sát và 132 người có người Tổng khối lượng công việc thực hiện từ xa nhiều, chiếm tỉ lệ 21,7% tổng số người khảo sát. Bên cạnh đó có 353 người có Lương theo USD cao trong đó có 104 người có Tổng khối lượng công việc thực hiện từ xa ít, chiếm tỉ lệ 17,1% tổng người được khảo sát và 249 người có người Tổng khối lượng công việc thực hiện từ xa nhiều, chiếm tỉ lệ 41% tổng số người khảo sát. Qua biểu đồ có thể thấy đối với những người có Lương theo USD cao vfa thấp thì tỷ lệ Tổng khối lượng công việc thực hiện từ xa nhiều đều lớn hơn Tổng khối lượng công việc thực hiện từ xa ít.

3.4.3 Rủi ro tương đối (Risk ratio)

epitab(x, method = "riskratio")
## $tab
##             salary_in_usd
## remote_ratio Thấp        p0 Cao        p1 riskratio    lower    upper
##        it     121 0.5377778 104 0.4622222  1.000000       NA       NA
##        nhieu  132 0.3464567 249 0.6535433  1.413916 1.206339 1.657211
##             salary_in_usd
## remote_ratio     p.value
##        it             NA
##        nhieu 5.75781e-06
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỉ lệ rủi ro tương đối (risk ratio) của người có Lương USD cao theo Tổng khối lượng công việc thực hiện từ xa là 1.413916 tức là tỉ lệ những người Lương theo USD cao có Tổng khối lượng công việc thực hiện từ xa nhiều lớn hơn 1.413916 lần tỉ lệ những người Lương theo USD cao có Tổng khối lượng công việc thực hiện từ xa ít.

3.4.4 Tỷ lệ chênh lệch (odd ratio)

epitab(x, method = "oddsratio")
## $tab
##             salary_in_usd
## remote_ratio Thấp        p0 Cao        p1 oddsratio   lower    upper
##        it     121 0.4782609 104 0.2946176  1.000000      NA       NA
##        nhieu  132 0.5217391 249 0.7053824  2.194712 1.56765 3.072599
##             salary_in_usd
## remote_ratio     p.value
##        it             NA
##        nhieu 5.75781e-06
## 
## $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 (odd ratio) là 2.194712 tức tỉ lệ những người có Lương theo USD cao/những người có Lương theo USD thấp có tổng khối lượng công việc thực hiện từ xa nhiều lớn hơn 2.194712 tỉ lệ những người có Lương theo USD cao/những người có Lương theo USD thấp có tổng khối lượng công việc thực hiện từ xa ít.

3.4.5 Thống kê suy diễn

Kiểm định tính độc lập cho 2 biến (salary_in_usd) và (remote_ratio):

Phương pháp chi bình phương: Giả thuyết Ho: salary_in_usd và remote_ratio độc lập

x <- table(salary_in_usd, remote_ratio); x
##              remote_ratio
## salary_in_usd  it nhieu
##          Thấp 121   132
##          Cao  104   249
chisq.test(x)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  x
## X-squared = 20.512, df = 1, p-value = 5.925e-06

Kết quả kiểm định trên cho thấy giá trị tới hạn p-value = 5.925e-06 < 5% vì vậy có chưa cơ sở để thừa nhận giả thuyết Ho, nói cách khác giữa tổng khối lượng công việc thực hiện từ xa và Lương theo USD có liên quan tới nhau.

3.5 Thống kê mô tả biến phụ thuộc: salary_in_usd với biến độc lập salary

3.5.1 Mã hoá biến salary từ định lượng sang định tính

Với dữ liệu gốc, biến Tổng số tiền lương gộp (salary) là biến định lượng nhận các giá trị từ 4000 đến 30.400.000 nên tác giả đã đặt quy ước về việc mã hoá biến salary như sau: Lương không tốt (không tốt): Lương không tốt từ 4000 đến 150000. Lương tốt (tốt): Lương tốt từ 150000 đến 30.400.000.

salary <- cut(PTDLDT$salary, breaks = c(4000,150000,30400000), labels=c("khong tot","tot"))
table(salary)
## salary
## khong tot       tot 
##       418       187

3.5.2 Bảng tần số, tần suất và biểu đồ

Bảng tần số:

y <- table(salary, salary_in_usd); y
##            salary_in_usd
## salary      Thấp Cao
##   khong tot  211 206
##   tot         40 147

Bảng tần suất:

y1 <- prop.table(y); y1
##            salary_in_usd
## salary            Thấp        Cao
##   khong tot 0.34933775 0.34105960
##   tot       0.06622517 0.24337748

Phân phối biên:

addmargins(y)
##            salary_in_usd
## salary      Thấp Cao Sum
##   khong tot  211 206 417
##   tot         40 147 187
##   Sum        251 353 604

Biểu đồ cột kết hợp 2 biến:

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
k |> ggplot(aes(x=salary,y=after_stat(count))) + geom_bar(fill="pink") + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = "count", color = "blue", vjust = - .5) + facet_grid(. ~salary_in_usd) + labs(x = "Tổng số tiền lương gộp",y = "Số người")

Thông qua bảng tần số, tần suất trên của 2 biến Lương theo USD và Tổng số tiền lương gộp ta thấy có 251 người có Lương theo USD thấp trong đó có 211 người có Tổng số tiền lương gộp không tốt, chiếm tỉ lệ 34,93% tổng người được khảo sát và 40 người có Tổng số tiền lương gộp tốt, chiếm tỉ lệ 6,62% tổng số người được khảo sát. Bên cạnh đó có 353 người có Lương theo USD cao trong đó có 206 người có Tổng số tiền lương gộp không tốt, chiếm tỉ lệ 34,11% tổng người được khảo sát và 147 người có Tổng số tiền lương gộp tốt, chiếm tỉ lệ 24,34% tổng số người được khảo sát. Qua biểu đồ có thể thấy đối với những người có Lương theo USD thấp và Lương theo USD cao thì tỷ lệ những người có Tổng số tiền lương gộp không tốt đều nhiều hơn những người có Tổng số tiền lương gộp tốt.

3.5.3 Rủi ro tương đối (Risk ratio)

epitab(y, method = "riskratio")
## $tab
##            salary_in_usd
## salary      Thấp        p0 Cao        p1 riskratio    lower    upper
##   khong tot  211 0.5059952 206 0.4940048  1.000000       NA       NA
##   tot         40 0.2139037 147 0.7860963  1.591273 1.407697 1.798787
##            salary_in_usd
## salary           p.value
##   khong tot           NA
##   tot       6.957749e-12
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỉ lệ rủi ro tương đối (risk ratio) của hành khách có Lương USD cao theo Mức độ kinh nghiệm là 1.591273 tức là tỉ lệ những người ở nhóm Tổng số tiền lương gộp tốt có Lương USD cao lớn gấp 1.591273 tỉ lệ những người ở ở nhóm Tổng số tiền lương gộp không tốt có Lương USD cao.

3.5.4 Tỷ lệ chênh lệch (odd ratio)

epitab(y, method = "oddsratio")
## $tab
##            salary_in_usd
## salary      Thấp        p0 Cao        p1 oddsratio    lower    upper
##   khong tot  211 0.8406375 206 0.5835694  1.000000       NA       NA
##   tot         40 0.1593625 147 0.4164306  3.764199 2.526307 5.608658
##            salary_in_usd
## salary           p.value
##   khong tot           NA
##   tot       6.957749e-12
## 
## $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 (odd ratio) là 3.764199 tức tỉ lệ những người Lương theo USD cao/những người Lương theo USD thấp ở nhóm Tổng số tiền lương gộp tốt lớn gấp 3.764199 tỉ lệ những người Lương theo USD cao/những người Lương theo USD thấp ở nhóm Tổng số tiền lương gộp không tốt.

3.5.5 Thống kê suy diễn

Kiểm định tính độc lập cho 2 biến (salary_in_usd) và (salary):

Phương pháp chi bình phương: Giả thuyết Ho: salary_in_usd và salary độc lập

y <- table(salary, salary_in_usd); y
##            salary_in_usd
## salary      Thấp Cao
##   khong tot  211 206
##   tot         40 147
chisq.test(y)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  y
## X-squared = 44.158, df = 1, p-value = 3.029e-11

Kết quả kiểm định trên cho thấy giá trị tới hạn p-value = 3.029e-11 < 5% vì vậy chưa có cơ sở để thừa nhận giả thuyết Ho, nói cách khác giữa Lương theo USD và Tổng số tiền lương gộp có liên quan tới nhau.

3.6 Thống kê mô tả biến phụ thuộc: remote_ratio với biến độc lập experience_level

3.6.1 Bảng tần số, tần suất và biểu đồ

Bảng tần số:

s <- table(experience_level, remote_ratio); s
##                 remote_ratio
## experience_level  it nhieu
##             YẾU  137   164
##             MẠNH  89   217

Bảng tần suất:

s1 <- prop.table(s); s1
##                 remote_ratio
## experience_level        it     nhieu
##             YẾU  0.2257002 0.2701812
##             MẠNH 0.1466227 0.3574959

Phân phối biên:

addmargins(s)
##                 remote_ratio
## experience_level  it nhieu Sum
##             YẾU  137   164 301
##             MẠNH  89   217 306
##             Sum  226   381 607

Biểu đồ cột kết hợp 2 biến:

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
k |> ggplot(aes(x=experience_level,y=after_stat(count))) + geom_bar(fill="pink") + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = "count", color = "blue", vjust = - .5) + facet_grid(. ~remote_ratio) + labs(x = "Tổng khối lượng công việc thực hiện từ xa",y = "Số người")

Thông qua bảng tần số, tần suất trên của 2 biến Tổng khối lượng công việc thực hiện từ xa và mức độ kinh nghiệm ta thấy có 226 người có Tổng khối lượng công việc thực hiện từ xa ít trong đó có 137 người có kinh nghiệm yếu, chiếm tỉ lệ 22,6% tổng người được khảo sát và 89 người có kinh nghiệm mạnh, chiếm tỉ lệ 14,7% tổng số người khảo sát. Bên cạnh đó có 381 người làm việc không chính thức trong đó có 164 người có kinh nghiệm yếu, chiếm tỉ lệ 27% tổng người được khảo sát và 217 người người có kinh nghiệm mạnh, chiếm tỉ lệ 35,7% tổng số người khảo sát. Qua biểu đồ có thể thấy đối với những người có Tổng khối lượng công việc thực hiện từ xa ít thì tỷ lệ những có kinh nghiệm yếu lớn hơn những người có kinh nghiệm mạnh. Còn đối với nhóm Tổng khối lượng công việc thực hiện từ xa nhiều thì lại ngược lại.

3.6.2 Rủi ro tương đối (Risk ratio)

epitab(s, method = "riskratio")
## $tab
##                 remote_ratio
## experience_level  it        p0 nhieu        p1 riskratio    lower    upper
##             YẾU  137 0.4551495   164 0.5448505   1.00000       NA       NA
##             MẠNH  89 0.2908497   217 0.7091503   1.30155 1.147767 1.475938
##                 remote_ratio
## experience_level     p.value
##             YẾU           NA
##             MẠNH 3.69793e-05
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỉ lệ rủi ro tương đối (risk ratio) của người có ổng khối lượng công việc thực hiện từ xa nhiều theo mức độ kinh nghiệm là 1.30155 tức là tỉ lệ những người có Tổng khối lượng công việc thực hiện từ xa nhiều có kinh nghiệm mạnh lớn hơn 1.30155 lần tỉ lệ những người có Tổng khối lượng công việc thực hiện từ nhiều có kinh nghiệm yếu

3.6.3 Tỷ lệ chênh lệch (odd ratio)

epitab(s, method = "oddsratio")
## $tab
##                 remote_ratio
## experience_level  it        p0 nhieu        p1 oddsratio    lower    upper
##             YẾU  137 0.6061947   164 0.4304462  1.000000       NA       NA
##             MẠNH  89 0.3938053   217 0.5695538  2.036791 1.456769 2.847752
##                 remote_ratio
## experience_level     p.value
##             YẾU           NA
##             MẠNH 3.69793e-05
## 
## $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 (odd ratio) là 2.036791 tức tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều/những người có tổng khối lượng công việc thực hiện từ xa ít có kinh nghiệm mạnh lớn gấp 2.036791 tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều/những người có tổng khối lượng công việc thực hiện từ xa ít có kinh nghiệm yếu.

3.6.4 Thống kê suy diễn

Kiểm định tính độc lập cho 2 biến (remote_ratio) và (experience_level):

Phương pháp chi bình phương: Giả thuyết Ho: remote_ratio và experience_level độc lập

s <- table(experience_level, remote_ratio); s
##                 remote_ratio
## experience_level  it nhieu
##             YẾU  137   164
##             MẠNH  89   217
chisq.test(s)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  s
## X-squared = 16.831, df = 1, p-value = 4.085e-05

Kết quả kiểm định trên cho thấy giá trị tới hạn p-value = 4.085e-05 < 5% vì vậy chưa có cơ sở để thừa nhận giả thuyết Ho, nói cách khác giữa tổng khối lượng công việc thực hiện từ xa và mức độ kinh nghiệm có liên quan tới nhau.

3.7 Thống kê mô tả biến phụ thuộc: remote_ratio với biến độc lập company_size

3.7.1 Bảng tần số, tần suất và biểu đồ

Bảng tần số:

h <- table(company_size, remote_ratio); h
##             remote_ratio
## company_size  it nhieu
##          nho 134   275
##          lon  92   106

Bảng tần suất:

h1 <- prop.table(h); h1
##             remote_ratio
## company_size        it     nhieu
##          nho 0.2207578 0.4530478
##          lon 0.1515651 0.1746293

Phân phối biên:

addmargins(h)
##             remote_ratio
## company_size  it nhieu Sum
##          nho 134   275 409
##          lon  92   106 198
##          Sum 226   381 607

Biểu đồ cột kết hợp 2 biến:

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
k |> ggplot(aes(x=company_size,y=after_stat(count))) + geom_bar(fill="pink") + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = "count", color = "blue", vjust = - .5) + facet_grid(. ~remote_ratio) + labs(x = "Tổng khối lượng công việc thực hiện từ xa",y = "Số người")

Thông qua bảng tần số, tần suất trên của 2 biến tổng khối lượng công việc thực hiện từ xa và Quy mô công ty ta thấy có 226 người có tổng khối lượng công việc thực hiện từ xa ít trong đó có 134 người làm việc ở công ty quy mô nhỏ, chiếm tỉ lệ 22,1% tổng người được khảo sát và 92 làm việc ở công ty quy mô lớn, chiếm tỉ lệ 15,2% tổng số người khảo sát. Bên cạnh đó có 381 người có tổng khối lượng công việc thực hiện từ xa nhiều trong đó có 275 người làm việc ở công ty quy mô nhỏ, chiếm tỉ lệ 45,3% tổng người được khảo sát và 106 làm việc ở công ty quy mô lớn, chiếm tỉ lệ 17,5% tổng số người khảo sát. Qua biểu đồ có thể thấy đối với những người có tổng khối lượng công việc thực hiện từ xa ít và nhiều thì tỷ lệ những người làm ở công ty nhỏ đều lớn hơn những người làm ở công ty lớn. ### 3.7.2 Rủi ro tương đối (Risk ratio)

epitab(h, method = "riskratio")
## $tab
##             remote_ratio
## company_size  it        p0 nhieu        p1 riskratio     lower     upper
##          nho 134 0.3276284   275 0.6723716 1.0000000        NA        NA
##          lon  92 0.4646465   106 0.5353535 0.7962167 0.6878227 0.9216926
##             remote_ratio
## company_size     p.value
##          nho          NA
##          lon 0.001256166
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều làm việc ở công ty lớn bằng 79,62% tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều làm việc ở công ty nhỏ.

3.7.3 Tỷ lệ chênh lệch (odd ratio)

epitab(h, method = "oddsratio")
## $tab
##             remote_ratio
## company_size  it        p0 nhieu        p1 oddsratio     lower     upper
##          nho 134 0.5929204   275 0.7217848 1.0000000        NA        NA
##          lon  92 0.4070796   106 0.2782152 0.5614229 0.3966895 0.7945654
##             remote_ratio
## company_size     p.value
##          nho          NA
##          lon 0.001256166
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Tỷ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều/những người có tổng khối lượng công việc thực hiện từ xa ít làm việc ở công ty lớn bằng khoảng 56,14% tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều/những người có tổng khối lượng công việc thực hiện từ xa ít làm việc ở công ty nhỏ.

3.7.4 Thống kê suy diễn

Kiểm định tính độc lập cho 2 biến (remote_ratio) và (company_size):

Phương pháp chi bình phương: Giả thuyết Ho: remote_ratio và experience_level độc lập

h <- table(company_size, remote_ratio); h
##             remote_ratio
## company_size  it nhieu
##          nho 134   275
##          lon  92   106
chisq.test(h)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  h
## X-squared = 10.139, df = 1, p-value = 0.001451

Kết quả kiểm định trên cho thấy giá trị tới hạn p-value = 0.00145 < 5% vì vậy chưa có cơ sở để thừa nhận giả thuyết Ho, nói cách khác giữa tổng khối lượng công việc thực hiện từ xa và quy mô công ty có liên quan tới nhau.

3.8 Thống kê mô tả biến phụ thuộc: remote_ratio với biến độc lập employment_type

3.8.1 Bảng tần số, tần suất và biểu đồ

Bảng tần số:

m<- table(employment_type, remote_ratio); m
##                   remote_ratio
## employment_type     it nhieu
##   chinh thuc         0     5
##   khong chinh thuc 226   376

Bảng tần suất:

m1 <- prop.table(m); m1
##                   remote_ratio
## employment_type             it       nhieu
##   chinh thuc       0.000000000 0.008237232
##   khong chinh thuc 0.372322900 0.619439868

Phân phối biên:

addmargins(m)
##                   remote_ratio
## employment_type     it nhieu Sum
##   chinh thuc         0     5   5
##   khong chinh thuc 226   376 602
##   Sum              226   381 607

Biểu đồ cột kết hợp 2 biến:

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
k |> ggplot(aes(x=employment_type,y=after_stat(count))) + geom_bar(fill="pink") + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = "count", color = "blue", vjust = - .5) + facet_grid(. ~remote_ratio) + labs(x = "TTổng khối lượng công việc thực hiện từ xa",y = "Số người")

Thông qua bảng tần số, tần suất trên của 2 biến tổng khối lượng công việc thực hiện từ xa và Loại việc làm ta thấy có 226 người có tổng khối lượng công việc thực hiện từ xa ít trong đó có 0 người làm việc chính thức, chiếm tỉ lệ 0% tổng người được khảo sát và 226 làm việc không chính thức, chiếm tỉ lệ 37% tổng số người khảo sát. Bên cạnh đó có 381 người có tổng khối lượng công việc thực hiện từ xa nhiều trong đó có 5 người làm việc chính thức, chiếm tỉ lệ 1% tổng người được khảo sát và 376 làm việc không chính thức, chiếm tỉ lệ 62% tổng số người khảo sát. Qua biểu đồ có thể thấy đối với những người có tổng khối lượng công việc thực hiện từ xa ít và nhiều thì tỷ lệ những người làm việc không chính thức đều lớn hơn những người làm việc chính thức.

3.8.2 Rủi ro tương đối (Risk ratio)

epitab(m, method = "riskratio")
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $tab
##                   remote_ratio
## employment_type     it        p0 nhieu        p1 riskratio     lower    upper
##   chinh thuc         0 0.0000000     5 1.0000000 1.0000000        NA       NA
##   khong chinh thuc 226 0.3754153   376 0.6245847 0.6245847 0.5870768 0.664489
##                   remote_ratio
## employment_type      p.value
##   chinh thuc              NA
##   khong chinh thuc 0.1631301
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều làm việc không chính thức bằng 62,45% tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều làm việc chính thức.

3.8.3 Tỷ lệ chênh lệch (odd ratio)

epitab(m, method = "oddsratio")
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $tab
##                   remote_ratio
## employment_type     it p0 nhieu         p1 oddsratio lower upper   p.value
##   chinh thuc         0  0     5 0.01312336         1    NA    NA        NA
##   khong chinh thuc 226  1   376 0.98687664         0     0   NaN 0.1631301
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Tỷ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều/những người có tổng khối lượng công việc thực hiện từ xa ít làm việc ở không chính thức bằng khoảng 0% tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều/những người có tổng khối lượng công việc thực hiện từ xa ít làm việc chính thức.

3.8.4 Thống kê suy diễn

Kiểm định tính độc lập cho 2 biến (remote_ratio) và (employment_type):

Phương pháp chi bình phương: Giả thuyết Ho: remote_ratio và employment_type độc lập

m <- table(employment_type, remote_ratio); m
##                   remote_ratio
## employment_type     it nhieu
##   chinh thuc         0     5
##   khong chinh thuc 226   376
chisq.test(m)
## Warning in chisq.test(m): Chi-squared approximation may be incorrect
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  m
## X-squared = 1.5998, df = 1, p-value = 0.2059

Kết quả kiểm định trên cho thấy giá trị tới hạn p-value = 0.2059 > 5% vì vậy có cơ sở để thừa nhận giả thuyết Ho, nói cách khác giữa tổng khối lượng công việc thực hiện từ xa và Loại công việc không có liên quan tới nhau.

3.9 Thống kê mô tả biến phụ thuộc: remote_ratio với biến độc lập salary

3.9.1 Bảng tần số, tần suất và biểu đồ

Bảng tần số:

d <- table(salary, remote_ratio); d
##            remote_ratio
## salary       it nhieu
##   khong tot 166   252
##   tot        59   128

Bảng tần suất:

d1 <- prop.table(d); d1
##            remote_ratio
## salary              it      nhieu
##   khong tot 0.27438017 0.41652893
##   tot       0.09752066 0.21157025

Phân phối biên:

addmargins(d)
##            remote_ratio
## salary       it nhieu Sum
##   khong tot 166   252 418
##   tot        59   128 187
##   Sum       225   380 605

Biểu đồ cột kết hợp 2 biến:

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
k |> ggplot(aes(x=salary,y=after_stat(count))) + geom_bar(fill="pink") + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = "count", color = "blue", vjust = - .5) + facet_grid(. ~remote_ratio) + labs(x = "Tổng khối lượng công việc thực hiện từ xa",y = "Số người")

Thông qua bảng tần số, tần suất trên của 2 biến Tổng khối lượng công việc thực hiện từ xa và Tổng số tiền lương gộp ta thấy có 225 người có Tổng khối lượng công việc thực hiện từ xa ít trong đó có 166 người có Tổng số tiền lương gộp không tốt, chiếm tỉ lệ 27,4% tổng người được khảo sát và 59 người có Tổng số tiền lương gộp tốt, chiếm tỉ lệ 9,7% tổng số người khảo sát. Bên cạnh đó có 380 người Tổng khối lượng công việc thực hiện từ xa nhiều trong đó có 252 người có Tổng số tiền lương gộp không tốt, chiếm tỉ lệ 41,65% tổng người được khảo sát và 128 người Tổng số tiền lương gộp tốt, chiếm tỉ lệ 21,1% tổng số người khảo sát.

3.9.2 Rủi ro tương đối (Risk ratio)

epitab(d, method = "riskratio")
## $tab
##            remote_ratio
## salary       it        p0 nhieu        p1 riskratio    lower    upper
##   khong tot 166 0.3971292   252 0.6028708  1.000000       NA       NA
##   tot        59 0.3155080   128 0.6844920  1.135387 1.002387 1.286035
##            remote_ratio
## salary         p.value
##   khong tot         NA
##   tot       0.05658256
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỉ lệ rủi ro tương đối (risk ratio) của người có ổng khối lượng công việc thực hiện từ xa nhiều theo Tổng số tiền lương gộp là 1.135387 tức là tỉ lệ những người có Tổng khối lượng công việc thực hiện từ xa nhiều có Tổng số tiền lương gộp tốt lớn hơn 1.135387 tỉ lệ những người có Tổng khối lượng công việc thực hiện từ nhiều có Tổng số tiền lương gộp không tốt

3.9.3 Tỷ lệ chênh lệch (odd ratio)

epitab(d, method = "oddsratio")
## $tab
##            remote_ratio
## salary       it        p0 nhieu        p1 oddsratio     lower    upper
##   khong tot 166 0.7377778   252 0.6631579  1.000000        NA       NA
##   tot        59 0.2622222   128 0.3368421  1.429109 0.9917013 2.059445
##            remote_ratio
## salary         p.value
##   khong tot         NA
##   tot       0.05658256
## 
## $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 (odd ratio) là 1.429109 tức tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều/những người có tổng khối lượng công việc thực hiện từ xa ít có Tổng số tiền lương gộp tốt lớn gấp 1.429109 tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều/những người có tổng khối lượng công việc thực hiện từ xa ít có Tổng số tiền lương gộp không tốt.

3.9.4 Thống kê suy diễn

Kiểm định tính độc lập cho 2 biến (remote_ratio) và (salary):

Phương pháp chi bình phương: Giả thuyết Ho: remote_ratio và salary độc lập

d <- table(salary, remote_ratio); d
##            remote_ratio
## salary       it nhieu
##   khong tot 166   252
##   tot        59   128
chisq.test(d)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  d
## X-squared = 3.3437, df = 1, p-value = 0.06746

Kết quả kiểm định trên cho thấy giá trị tới hạn p-value = 0.06746 > 5% vì vậy có cơ sở để thừa nhận giả thuyết Ho, nói cách khác giữa tổng khối lượng công việc thực hiện từ xa vàTổng số tiền lương gộp không có liên quan tới nhau.

3.10 Thống kê mô tả biến phụ thuộc: remote_ratio với biến độc lập salary

3.10.1 Bảng tần số, tần suất và biểu đồ

Bảng tần số:

t <- table(salary_in_usd, remote_ratio); t
##              remote_ratio
## salary_in_usd  it nhieu
##          Thấp 121   132
##          Cao  104   249

Bảng tần suất:

t1 <- prop.table(t); t1
##              remote_ratio
## salary_in_usd        it     nhieu
##          Thấp 0.1996700 0.2178218
##          Cao  0.1716172 0.4108911

Phân phối biên:

addmargins(t)
##              remote_ratio
## salary_in_usd  it nhieu Sum
##          Thấp 121   132 253
##          Cao  104   249 353
##          Sum  225   381 606

Biểu đồ cột kết hợp 2 biến:

k <- data.frame(PTDLDT$experience_level, PTDLDT$employment_type, PTDLDT$company_size, PTDLDT$salary, PTDLDT$remote_ratio, PTDLDT$salary_in_usd, salary_in_usd, experience_level, employment_type, company_size, remote_ratio)
k |> ggplot(aes(x=salary_in_usd,y=after_stat(count))) + geom_bar(fill="pink") + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = "count", color = "blue", vjust = - .5) + facet_grid(. ~remote_ratio) + labs(x = "Tổng khối lượng công việc thực hiện từ xa",y = "Số người")

Thông qua bảng tần số, tần suất trên của 2 biến Tổng khối lượng công việc thực hiện từ xa và Lương theo USD ta thấy có 225 người có Tổng khối lượng công việc thực hiện từ xa ít trong đó có 121 người có Lương theo USD thấp chiếm tỉ lệ 19,9% tổng người được khảo sát và 104 người có Lương theo USD cao, chiếm tỉ lệ 17,1% tổng số người khảo sát. Bên cạnh đó có 381 người Tổng khối lượng công việc thực hiện từ xa nhiều trong đó có 132 người có Lương theo USD thấp, chiếm tỉ lệ 21,7% tổng người được khảo sát và 249 người Lương theo USD cao, chiếm tỉ lệ 41% tổng số người khảo sát.

3.10.2 Rủi ro tương đối (Risk ratio)

epitab(t, method = "riskratio")
## $tab
##              remote_ratio
## salary_in_usd  it        p0 nhieu        p1 riskratio    lower    upper
##          Thấp 121 0.4782609   132 0.5217391  1.000000       NA       NA
##          Cao  104 0.2946176   249 0.7053824  1.351983 1.180209 1.548758
##              remote_ratio
## salary_in_usd     p.value
##          Thấp          NA
##          Cao  5.75781e-06
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Theo kết quả trên ta thấy tỉ lệ rủi ro tương đối (risk ratio) của người có tổng khối lượng công việc thực hiện từ xa nhiều theo Lương theo USD là 1.351983 tức là tỉ lệ những người có Tổng khối lượng công việc thực hiện từ xa nhiều có Lương theo USD cao lớn hơn 1.351983 tỉ lệ những người có Tổng khối lượng công việc thực hiện từ nhiều có Lương theo USD thấp.

3.10.3 Tỷ lệ chênh lệch (odd ratio)

epitab(t, method = "oddsratio")
## $tab
##              remote_ratio
## salary_in_usd  it        p0 nhieu        p1 oddsratio   lower    upper
##          Thấp 121 0.5377778   132 0.3464567  1.000000      NA       NA
##          Cao  104 0.4622222   249 0.6535433  2.194712 1.56765 3.072599
##              remote_ratio
## salary_in_usd     p.value
##          Thấp          NA
##          Cao  5.75781e-06
## 
## $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 (odd ratio) là 2.194712 tức tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều/những người có tổng khối lượng công việc thực hiện từ xa ít có Lương theo USD cao lớn gấp 2.194712 tỉ lệ những người có tổng khối lượng công việc thực hiện từ xa nhiều/những người có tổng khối lượng công việc thực hiện từ xa ít có Lương theo USD thấp.

3.10.4 Thống kê suy diễn

Kiểm định tính độc lập cho 2 biến (remote_ratio) và (salary_in_usd):

Phương pháp chi bình phương: Giả thuyết Ho: remote_ratio và salary độc lập

t <- table(salary_in_usd, remote_ratio); t
##              remote_ratio
## salary_in_usd  it nhieu
##          Thấp 121   132
##          Cao  104   249
chisq.test(t)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  t
## X-squared = 20.512, df = 1, p-value = 5.925e-06

Kết quả kiểm định trên cho thấy giá trị tới hạn p-value = 5.925e-06 < 5% vì vậy chưa có cơ sở để thừa nhận giả thuyết Ho, nói cách khác giữa tổng khối lượng công việc thực hiện từ xa và lương theo USD có liên quan tới nhau.

3.11 Khoảng ước lượng cho tỷ lệ

3.11.1 Ước lượng tỷ lệ số người được khảo sát có Lương theo USD (salary_in_usd) lớn hơn 90000 USD

Ước lượng tỷ lệ số người được khảo sát có Lương theo USD (salary_in_usd) lớn hơn 90000 USD và đồng thời kiểm định xem tỷ lệ người được khảo sát có Lương theo USD (salary_in_usd) lớn hơn 90000 USD có phải là 40% hay không. Ta kiểm định giả thuyết:

H0: Tỷ lệ học sinh số người được khảo sát có Lương theo USD lớn hơn 90000 USD là 40%

H1: Tỷ lệ học sinh số người được khảo sát có Lương theo USD lớn hơn 90000 USD không phải là 40%

rm<- PTDLDT[PTDLDT$salary_in_usd > 90000,]
prop.test(length(rm$salary_in_usd), length(PTDLDT$salary_in_usd), p = 0.4)
## 
##  1-sample proportions test with continuity correction
## 
## data:  length(rm$salary_in_usd) out of length(PTDLDT$salary_in_usd), null probability 0.4
## X-squared = 82.606, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.4
## 95 percent confidence interval:
##  0.5410831 0.6209669
## sample estimates:
##         p 
## 0.5815486

Vì p_value < 2.2e-16 < 0.05 nên ta bác bỏ giả thuyết H0. Nghĩa là Tỷ lệ học sinh số người được khảo sát có Lương theo USD lớn hơn 90000 USD không phải là 40%

Với độ tin cậy 95%, ước lượng tỷ lệ số người được khảo sát có Lương theo USD (salary_in_usd) lớn hơn 90000 USD nằm trong khoảng từ 0.5410831 đến 0.6209669.

3.11.2 Ước lượng tỷ lệ số người được khảo sát có Lương theo USD (salary_in_usd) lớn hơn 90000 USD giữa quy mô công ty nhỏ và lớn

Giả thuyết:

H0: không có sự khác biệt đáng kể trong tỷ lệ giữa quy mô công ty nhỏ và lớ về số lượng người được khảo sát có Lương theo USD (salary_in_usd) lớn hơn 90000 USD.

H1: có sự khác biệt đáng kể trong tỷ lệ giữa quy mô công ty nhỏ và lớ về số lượng người được khảo sát có Lương theo USD (salary_in_usd) lớn hơn 90000 USD.

rmm <- PTDLDT[company_size == "nho",]
rmf <- PTDLDT[company_size == "lon",]

rmm1 <- rmm[rmm$salary_in_usd > 90000,]
rmf1 <- rmf[rmf$salary_in_usd > 90000,]

a <- c(nrow(rmm), nrow(rmf))
b <- c(nrow(rmm1), nrow(rmf1))

prop.test(b,a)
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  b out of a
## X-squared = 0.40959, df = 1, p-value = 0.5222
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.05662025  0.11878221
## sample estimates:
##    prop 1    prop 2 
## 0.5916870 0.5606061

Vì p_value = 0.5222 > 0.05 nên chưa đủ cơ sở để bác bỏ giả thuyết H0. Nghĩa là chưa đủ cơ sở để chứng minh rằng có sự khác biệt trong tỷ lệ giữa quy mô công ty nhỏ và lớ về số lượng người được khảo sát có Lương theo USD (salary_in_usd) lớn hơn 90000 USD.

Với độ tin cậy 95%, khoảng chênh lệch giữa giữa quy mô công ty nhỏ và lớ về số lượng người được khảo sát có Lương theo USD (salary_in_usd) lớn hơn 90000 USD nằm trong khoảng từ 0.5916870 đến 0.5606061.

BÀI TẬP VỀ NHÀ TUẦN 3, 4 (CÂU 4):

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.

Thống kê mô tả được thực hiện trên các biến sau:

Biến định tính: experience_level, employment_type, company_size, remote_ratio

Biến định lượng: salary, salary_in_usd

2.1 Thống kê mô tả cho từng biến định tính

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

experience_level là biến thể hiện Mức độ kinh nghiệm gồm 4 biểu hiện

table(PTDLDT$experience_level)
## 
##  EN  EX  MI  SE 
##  88  26 213 280
table(PTDLDT$experience_level)/sum(table(PTDLDT$experience_level))
## 
##         EN         EX         MI         SE 
## 0.14497529 0.04283361 0.35090610 0.46128501
ggplot(map = aes(x=experience_level, y= after_stat(count)))+geom_bar(fill = 'brown')+geom_text(aes(label=percent(after_stat(count/sum(count)),accuracy = .01)), stat = 'count', color = 'white',vjust = 4) + labs(tiltle = 'Độ thị thể hiện số lượng người khảo sát chia Mức độ kinh nghiệm', x = 'Mức độ kinh nghiệm', y = 'số lượng người')

Nhận xét: Trong 607 người được khảo sát có:

88 người có trình độ EN = Entry-level: Sơ cấp , chiếm 14.5%.

26 người có trình độ EX = Executive-level / Director: Giám đốc, chiếm 4.28%

213 người có trình độ MI = Mid-level / Intermediate: Trung cấp, chiếm 35.09%

280 người có trình độ SE = Senior-level / Expert: Chuyên gia, chiếm 46,13%.

Đồ thị cột thể hiện số người khảo sát chia theo mức độ kinh nghiệm làm việc, có thể thấy người có trình độ SE = Senior-level / Expert: Chuyên gia có số lượng nhiều nhất trong tổng số nhân viên với 46,1%.

2.1.2 Thống kê mô tả cho biến company_size

company_size là biến thể hiện quy mô công ty gồm 3 biểu hiện

table(PTDLDT$company_size)
## 
##   L   M   S 
## 198 326  83
table(PTDLDT$company_size)/sum(table(PTDLDT$company_size))
## 
##         L         M         S 
## 0.3261944 0.5370675 0.1367381
ggplot(map = aes(x=company_size, y= after_stat(count)))+geom_bar(fill = 'brown')+geom_text(aes(label=percent(after_stat(count/sum(count)),accuracy = .01)), stat = 'count', color = 'white',vjust = 4) + labs(tiltle = 'Độ thị thể hiện số lượng người khảo sát chia Quy mô công ty', x = 'Quy mô công ty', y = 'số lượng người')

Nhận xét: Trong 607 người được khảo sát có:

198 người làm việc ở công ty có quy mô L:lớn, chiếm 32.26%.

326 người làm việc ở công ty có quy mô M:vừa, chiếm 53.71%

83 người làm việc ở công ty có quy mô S:nhỏ, chiếm 13.67%

Đồ thị cột thể hiện số người khảo sát chia theo mức quy mô công ty, có thể thấy người Số lượng nhân viên của công ty có quy mô M: vừa là nhiều nhất với 54% trên tổng sô lượng nhân viên được kháo sát.

2.1.3 Thống kê mô tả cho biến employment_type

employment_type là biến thể hiện Hình thức làm việc của người được khảo sát gồm 4 biểu hiện

table(PTDLDT$employment_type)
## 
##  CT  FL  FT  PT 
##   5   4 588  10
table(PTDLDT$employment_type)/sum(table(PTDLDT$employment_type))
## 
##          CT          FL          FT          PT 
## 0.008237232 0.006589786 0.968698517 0.016474465
ggplot(map = aes(x=employment_type, y= after_stat(count)))+geom_bar(fill = 'brown')+geom_text(aes(label=percent(after_stat(count/sum(count)),accuracy = .01)), stat = 'count', color = 'white',vjust = 4) + labs(tiltle = 'Độ thị thể hiện số lượng người khảo sát chia theo Hình thức làm việc', x = 'Hình thức làm việc', y = 'số lượng người')

Nhận xét: Trong 607 người được khảo sát có:

5 người làm việc theo hình thức CT = Contract: nhân viên hợp đồng, chiếm 0.82%.

4 người làm việc theo hình thức FL = Freelance: tự do về thời gian, chiếm 0.66%

588 người làm việc theo hình thức FT = Full-time: toàn thời gian, chiếm 96.87%

10 người làm việc theo hình thức PT = Part-time: bán thời gian, chiếm 1,65%

Đồ thị cột thể hiện số người khảo sát chia theo Hình thức làm việc, có thể thấy Nhân viên toàn thời gian chiếm ưu thế tổng thể với 96,9% số lượng nhân viên.

2.1.4 Thống kê mô tả cho biến remote_ratio

table(PTDLDT$remote_ratio)
## 
##   0  50 100 
## 127  99 381
table(PTDLDT$remote_ratio)/sum(table(PTDLDT$remote_ratio))
## 
##         0        50       100 
## 0.2092257 0.1630972 0.6276771

Biến remote_ratio là biến định tính thể hiện Tổng khối lượng công việc được thực hiện từ xa, theo như số liệu gốc thì biến Tổng khối lượng công việc được thực hiện từ xa nhận các giá trị là 0, 50, 100. Có thể thấy Tổng khối lượng công việc được thực hiện từ xa có giá trị 0 tức Không làm việc từ xa (dưới 20%) có 127 người chiếm 20,9%, bên cạnh đó Tổng khối lượng công việc được thực hiện từ xa có giá trị 50 tức Làm việc từ xa một phần có 99 người chiếm tỷ lệ 16,31%, Tổng khối lượng công việc được thực hiện từ xa có giá trị 100 tức Làm việc từ xa hoàn toàn có 381 người chiếm tỷ lệ 62.76%

pie(table(PTDLDT$remote_ratio), col = rainbow(6), main = "Biểu đồ số lượng người theo Tổng khối lượng công việc được thực hiện từ xa")

Theo như biểu đồ tròn phía trên có thể thấy tỷ lệ những người có Tổng khối lượng công việc được thực hiện từ xa có giá trị là 100 chiếm hơn một nửa tổng số người được khảo sát,tỷ lệ những người có Tổng khối lượng công việc được thực hiện từ xa có giá trị là 0 và 50 thì tương đương gần bằng nhau.

2.2 Thông kê mô tả nhóm biến định lượng

2.2.1 Thống kê mô tả cho biến salary

summary(PTDLDT$salary)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##     4000    70000   115000   324000   165000 30400000

Biến salary là biến định lượng cho biết tổng số tiền lương gộp người khảo sát được trả. Thông qua kết quả trên ta thấy tổng số tiền lương của người khảo sát nhỏ nhất là 4000, lớn nhất là 30400000 và tổng số tiền lương trung bình của người được khảo sát khoảng 324000. Tứ phân vị: là ba điểm cắt sẽ chia tập dữ liệu thành 4 nhóm có kích thước bằng nhau, cụ thể: Tứ phân vị thứ nhất (1st Qu.) = 70000 Nghĩa là dưới 25% người được khảo sát có tổng số tiền lương nhỏ hơn 70000 hay trên 75% số người được khảo sát có tổng số tiền lương lớn hơn 70000.

Tứ phân vị thứ hai (trung vị: Median) = 115000 Nghĩa là dưới 50% số người được khảo sát có tổng số tiền lương nhỏ hơn 115000 hay trên 50% số người được khảo sát có tổng số tiền lương lớn hơn 115000.

Tứ phân vị thứ ba (3rd Qu.) = 165000 Nghĩa là dưới 75% tổng số người được khảo sát có tổng số tiền lương nhỏ hơn 165000 hay trên 25% số người được khảo sát lớn hơn 165000.

salary <- PTDLDT$salary
table(cut(salary,3))
## 
## (-2.64e+04,1.01e+07]  (1.01e+07,2.03e+07]  (2.03e+07,3.04e+07] 
##                  604                    2                    1

Bảng tần số trên cho thấy có 604 người được khảo sát có tổng số tiền lương trong khoảng từ -2.64e+04 đến 1.01e+07; có 2 người được khảo sát có tổng số tiền lương trong khoảng từ 1.01e+07 đến 2.03e+07 và có 1 người được khảo sát có tổng số tiền lương trong khoảng từ 2.03e+07 đến 3.04e+07.

hist(PTDLDT$salary, main = "Biểu đồ tần số của tổng số tiền lương (salary)",xlab = "tổng số tiền lương", ylab = "Số người", col = "lightblue")

Dựa vào biểu đồ tần số của biến tổng số tiền lương (salary) cho thấy có quá nhiều sự chênh lệch về số người được khảo sát ứng với những mức tổng số tiền lương. Trong đó số lượng người được khảo sát có tổng số tiền lương trong khoảng -2.64e+04 đến 1.01e+07 là nhiều nhất và bỏ xa hai nhóm còn lại.

2.2.2 Thống kê mô tả cho biến salary_in_usd

summary(PTDLDT$salary_in_usd)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    2859   62726  101570  112298  150000  600000

Biến salary_in_usd là biến định lượng cho biết Lương theo USD người khảo sát được trả. Thông qua kết quả trên ta thấy Lương theo USD của người khảo sát nhỏ nhất là 2859, lớn nhất là 600000 và Lương theo USD trung bình của người được khảo sát khoảng 112298. Tứ phân vị: là ba điểm cắt sẽ chia tập dữ liệu thành 4 nhóm có kích thước bằng nhau, cụ thể: Tứ phân vị thứ nhất (1st Qu.) = 62726 Nghĩa là dưới 25% người được khảo sát có Lương theo USD nhỏ hơn 62726 USD hay trên 75% số người được khảo sát có Lương theo USD lớn hơn 62726 USD.

Tứ phân vị thứ hai (trung vị: Median) = 101570 Nghĩa là dưới 50% số người được khảo sát có Lương theo USD nhỏ hơn 101570 USD hay trên 50% số người được khảo sát có Lương theo USD lớn hơn 101570 USD.

Tứ phân vị thứ ba (3rd Qu.) = 150000 Nghĩa là dưới 75% tổng số người được khảo sát có Lương theo USD nhỏ hơn 150000 USD hay trên 25% số người được khảo sát lớn hơn 150000 USD.

salary_in_usd <- PTDLDT$salary_in_usd
table(cut(salary_in_usd,3))
## 
## (2.26e+03,2.02e+05] (2.02e+05,4.01e+05] (4.01e+05,6.01e+05] 
##                 554                  46                   7

Bảng tần số trên cho thấy có 554 người được khảo sát có Lương theo USD trong khoảng từ 2.26e+03 đến 2.02e+05; có 46 người được khảo sát có Lương theo USD trong khoảng từ 2.02e+05 đến 4.01e+05 và có 7 người được khảo sát có Lương theo USD trong khoảng từ 4.01e+05 đến 6.01e+05.

hist(PTDLDT$salary_in_usd, main = "Biểu đồ tần số của Lương theo USD (salary_in_usd)",xlab = "Lương theo USD", ylab = "Số người", col = "lightblue")

Dựa vào biểu đồ tần số của biến Lương theo USD (salary_in_usd) cho thấy số lượng người được khảo sát ứng với Lương theo USD phân bố không đồng đều. Trong đó số lượng người được khảo sát có Lương theo USD trong khoảng 0e+00 đến 2e+05 USD là nhiều nhất.

BÀI TẬP TUẦN 2

Giới thiệu bộ dữ liệu

Khoa học dữ liệu là lĩnh vực được mọi ngành rất quan tâm để phát triển cả hoạt động kinh doanh và sản phẩm của họ. Bằng cách sử dụng các công cụ và kỹ thuật, Khoa học dữ liệu có thể là một chủ đề giải quyết vấn đề để tìm ra các mẫu, lấy thông tin có ý nghĩa và đưa ra các quyết định kinh doanh. Vì Data Science đang có nhu cầu cao nên không thể phủ nhận mức lương như mong đợi. Nhiều yếu tố ảnh hưởng đến mức lương của một người làm việc trong lĩnh vực này, chẳng hạn như chức danh công việc, mức độ kinh nghiệm, vị trí, v.v. Vì vậy, hãy cùng tìm hiểu về nó.

Bộ dữ liệu là từ kết quả tổng hợp dữ liệu của ai-jobs.net. ai-jobs.net là một nền tảng cung cấp cho ứng viên ứng tuyển các công việc AI/ML và Dữ liệu lớn ở mọi nơi trên thế giới. Bộ dữ liệu thu được bằng cách cung cấp biểu mẫu cho tất cả những người có công việc AI/ML và Dữ liệu lớn để điền dữ liệu lương một cách minh bạch. Vì vậy, mọi người có thể sử dụng nó để tìm hiểu và phân tích thêm về nó.

Về bộ dữ liệu

Dữ liệu nghiên cứu về: Data Science Jobs Salary gồm 607 quan sát và 6 biến

Trong 6 biến này gồm 4 biến định tính và 2 biến định lượng

  • Các biến định tính:
  1. experience_level (Mức độ kinh nghiệm): Mức độ kinh nghiệm của người được khảo sát trong công việc trong năm với các giá trị có thể sau đây:

    EN = Entry-level / Junior: Sơ cấp

    MI = Mid-level / Intermediate: Trung cấp

    SE = Senior-level / Expert: Chuyên gia

    EX = Executive-level / Director: Giám đốc

  2. employment_type: hình thức làm việc

    PT = Part-time: bán thời gian

    FT = Full-time: toàn thời gian

    CT = Contract: nhân viên hợp đồng

    FL = Freelance: tự do về thời gian

  3. company_size (Qui mô công ty): Số người trung bình làm việc cho công ty trong năm

    S = less than 50 employees (small): qui mô nhỏ ít hơn 50 nhân viên

    M = 50 to 250 employees (medium): qui mô vừa với số lượng nhân viên từ 50-250 người

    L = more than 250 employees (large): qui mô lớn với số lượng nhân viên trên 250 người

  4. remote_ratio: Tổng số lượng công việc được thực hiện từ xa, các giá trị có thể như sau:

    0 = No remote work (less than 20%): Không làm việc từ xa (dưới 20%)

    50 = Partially remote: Làm việc từ xa một phần

    100 = Fully remote (more than 80%): Làm việc từ xa hoàn toàn (hơn 80%)

  • Các biến định lượng:
  1. salary: Tổng số tiền lương gộp được trả

  2. salary_in_usd: Lương tính bằng USD (Tỷ giá hối đoái chia cho tỷ giá USD trung bình cho năm tương ứng thông qua fxdata.foorilla.com)

  • Lựa chọn các biến phụ thuộc: 2 biến gồm 1 biến định tính và 1 biến định lượng

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

Đối với biến định tính, tôi chọn biến remote_ratio để làm biến phụ thuộc. Đây là biến cho biết Tổng số lượng công việc được thực hiện từ xa của người được khảo sát , nó gồm có 3 biểu hiện là 0, 50 và 100.

Tôi chọn biến tính remote_ratio làm biến phụ thuộc, với lý do tôi muốn xác định Tổng số lượng công việc được thực hiện từ xa của người được khảo sát chịu sự tác động và bị phụ thuộc như thế nào bởi các yếu tố như kinh nghiệm làm việc, tổng mức lương, mức lương tính theo USD và tổng khối lượng công việc được thực hiện.

+) Chọn biến định lượng là biến phụ thuộc:

Đối với biến định lượng, tôi chọn biến salary_in_usd làm biến phụ thuộc, đây là biến cho biết mức lương tính bằng USD trong một năm cụ thể của người được khảo sát. Biến được tính với đơn vị là USD .

Tôi chọn biến định lượng salary_in_usd làm biến phụ thuộc, với lý do tôi muốn xác định mức độ ảnh hưởng của các yếu tố trong bảng khảo sát như năm trả lương, hình thức làm việc, mức độ kinh nghiệm, loại việc làm, vị trí công việc, quốc gia cư trú, tổng khối lượng làm việc của người được khảo sát có ảnh hưởng như thế nào đối với mức lương tính bằng đồng USD của họ.

BÀI TẬP TUẦN 1

Dữ liệu nghiên cứu về: Data Science Jobs Salary gồm 607 quan sát và 6 biến

Trong 6 biến này gồm 4 biến định tính và 2 biến định lượng

1.experience_level: Mức độ kinh nghiệm

2.employment_type: Loại việc làm

3.salary: Tổng số tiền lương gộp

4.salary_in_usd: Lương tính bằng USD

5.remote_ratio: Tổng khối lượng công việc được thực hiện từ xa

6.company_size: Qui mô công ty

library(readxl)
PTDLDT <- read_excel("C:/Users/Abc/Downloads/PTDLDT.xlsx")
View(PTDLDT)
PTDLDT
## # A tibble: 607 × 6
##    experience_level employment_type   salary salary_in_usd remote_ratio
##    <chr>            <chr>              <dbl>         <dbl>        <dbl>
##  1 MI               FT                 70000         79833            0
##  2 SE               FT                260000        260000            0
##  3 SE               FT                 85000        109024           50
##  4 MI               FT                 20000         20000            0
##  5 SE               FT                150000        150000           50
##  6 EN               FT                 72000         72000          100
##  7 SE               FT                190000        190000          100
##  8 MI               FT              11000000         35735           50
##  9 MI               FT                135000        135000          100
## 10 SE               FT                125000        125000           50
## # ℹ 597 more rows
## # ℹ 1 more variable: company_size <chr>