d <- read_excel("C:/Users/Dell/OneDrive - UFM/Desktop/du lieu t2.xlsx")
datatable(d)
Bộ dữ liệu “ai_job_market_insights” bao gồm 8 biến và 500 quan sát, tập trung phản ánh tình hình thị trường việc làm trong bối cảnh trí tuệ nhân tạo (AI) đang được ứng dụng ngày càng rộng rãi. Dữ liệu bao gồm thông tin về chức danh công việc, ngành nghề, quy mô công ty, vị trí địa lý, mức độ áp dụng AI, rủi ro tự động hóa, khả năng làm việc từ xa và dự báo về xu hướng tăng trưởng của công việc đó.
Mô tả chi tiết các biến:
Job_Title (Chức danh công việc): Biến này cho biết tên gọi cụ thể của vị trí công việc, bao gồm như:
AI Researcher – Nhà nghiên cứu trí tuệ nhân tạo
Cybersecurity Analyst – Chuyên viên phân tích an ninh mạng
Marketing Specialist – Chuyên viên tiếp thị
Sales Manager – Quản lý bán hàng
Industry (Ngành công nghiệp): Cho biết lĩnh vực hoặc ngành nghề mà công việc đó thuộc về, bao gồm:
Technology – Công nghệ
Entertainment – Giải trí
Retail – Bán lẻ
Healthcare – Y tế
Finance – Tài chính, ngân hàng
Company_Size (Quy mô công ty): Biến này thể hiện quy mô tổ chức nơi công việc được tuyển dụng, chia thành:
Small – Doanh nghiệp nhỏ
Medium – Doanh nghiệp vừa
Large – Doanh nghiệp lớn
Location (Vị trí địa lý): Cho biết địa điểm làm việc, có thể là tên thành phố hoặc quốc gia. Ví dụ:
Singapore – Singapore
Tokyo – Tokyo, Nhật Bản
Dubai – Dubai, UAE
Berlin – Berlin, Đức
AI_Adoption_Level (Mức độ áp dụng AI): Phản ánh mức độ mà công việc sử dụng hoặc tích hợp công nghệ AI, được phân loại:
Low – Thấp
Medium – Trung bình
High – Cao
Automation_Risk (Rủi ro tự động hóa): Mức độ mà công việc có thể bị thay thế bởi máy móc hoặc phần mềm tự động:
Low – Rủi ro thấp
Medium – Rủi ro trung bình
High – Rủi ro cao
Remote_Friendly (Khả năng làm việc từ xa): Chỉ ra liệu công việc đó có thể được thực hiện từ xa hay không:
Yes – Có thể làm việc từ xa
No – Không thể làm việc từ xa
Job_Growth_Projection (Dự báo tăng trưởng công việc): Phản ánh xu hướng thay đổi số lượng việc làm trong tương lai:
Growth – Tăng trưởng (số lượng công việc được dự báo sẽ tăng)
Decline – Suy giảm (công việc có xu hướng bị thu hẹp)
# Hiển thị cấu trúc của dữ liệu
str(d)
## tibble [500 × 8] (S3: tbl_df/tbl/data.frame)
## $ Job_Title : chr [1:500] "Cybersecurity Analyst" "Marketing Specialist" "AI Researcher" "Sales Manager" ...
## $ Industry : chr [1:500] "Entertainment" "Technology" "Technology" "Retail" ...
## $ Company_Size : chr [1:500] "Small" "Large" "Large" "Small" ...
## $ Location : chr [1:500] "Dubai" "Singapore" "Singapore" "Berlin" ...
## $ AI_Adoption_Level : chr [1:500] "Medium" "Medium" "Medium" "Low" ...
## $ Automation_Risk : chr [1:500] "High" "High" "High" "High" ...
## $ Remote_Friendly : chr [1:500] "Yes" "No" "Yes" "No" ...
## $ Job_Growth_Projection: chr [1:500] "Growth" "Decline" "Growth" "Growth" ...
Kích thước dữ liệu: Bộ dữ liệu gồm 500 dòng (quan sát) và 8 cột (biến), định dạng theo kiểu tibble, thường được sử dụng trong R để xử lý dữ liệu một cách hiện đại và hiệu quả.
Kiểu dữ liệu: Tất cả các biến đều có kiểu chuỗi ký tự (character / chr), cho thấy rằng toàn bộ dữ liệu là dữ liệu phân loại (categorical), không có biến số lượng (numeric) trong bộ dữ liệu này, phản ánh các khía cạnh khác nhau của thị trường việc làm liên quan đến AI như chức danh công việc, ngành nghề, quy mô công ty, vị trí địa lý, mức độ áp dụng AI, rủi ro tự động hóa, khả năng làm việc từ xa và dự báo tăng trưởng nghề nghiệp.
# Hiển thị một vài dòng đầu tiên
head(d,6)
## # A tibble: 6 × 8
## Job_Title Industry Company_Size Location AI_Adoption_Level Automation_Risk
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 Cybersecurit… Enterta… Small Dubai Medium High
## 2 Marketing Sp… Technol… Large Singapo… Medium High
## 3 AI Researcher Technol… Large Singapo… Medium High
## 4 Sales Manager Retail Small Berlin Low High
## 5 Cybersecurit… Enterta… Small Tokyo Low Low
## 6 UX Designer Educati… Large San Fra… Medium Medium
## # ℹ 2 more variables: Remote_Friendly <chr>, Job_Growth_Projection <chr>
# Hiển thị một vài dòng cuối cùng
tail(d,6)
## # A tibble: 6 × 8
## Job_Title Industry Company_Size Location AI_Adoption_Level Automation_Risk
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 Sales Manager Transpo… Medium Tokyo Medium High
## 2 Data Scienti… Telecom… Medium Berlin Low Medium
## 3 Cybersecurit… Telecom… Small London Low High
## 4 Cybersecurit… Energy Large Dubai High Low
## 5 Operations M… Healthc… Large Paris High Low
## 6 HR Manager Enterta… Medium Berlin Medium High
## # ℹ 2 more variables: Remote_Friendly <chr>, Job_Growth_Projection <chr>
# Kiểm tra giá trị thiếu (NA) trong các cột định tính
qual_cols <- c("Job_Title", "Industry", "Company_Size", "Location",
"AI_Adoption_Level", "Automation_Risk", "Remote_Friendly", "Job_Growth_Projection")
# Kiểm tra NA theo cột định tính
colSums(is.na(d[qual_cols]))
## Job_Title Industry Company_Size
## 0 0 0
## Location AI_Adoption_Level Automation_Risk
## 0 0 0
## Remote_Friendly Job_Growth_Projection
## 0 0
# Hàm tính mode
get_mode <- function(x) {
ux <- unique(x[!is.na(x)])
ux[which.max(tabulate(match(x, ux)))]
}
Kết quả trả về từ đoạn mã cho thấy rằng không có giá trị thiếu (NA) trong bất kỳ cột định tính nào thuộc danh sách qual_cols, bao gồm các biến như “Job_Title”, “Industry”, “Company_Size”, “Location”, “AI_Adoption_Level”, “Automation_Risk”, “Remote_Friendly”, “Job_Growth_Projection”. Tất cả các cột đều có tổng số NA bằng 0, điều này chứng tỏ dữ liệu định tính đang đầy đủ và sạch, không cần thực hiện thao tác thay thế giá trị thiếu. Việc kiểm tra điều kiện trước khi thay thế là một thực hành tốt, giúp đảm bảo tính toàn vẹn và tránh thay đổi không cần thiết đối với dữ liệu.
# Chuyển đổi các cột cần thiết sang factor nếu chưa phải
for (col in qual_cols) {
if (!is.factor(d[[col]])) {
d[[col]] <- as.factor(d[[col]])
}
}
# Kiểm tra lại cấu trúc sau khi chuyển đổi
str(d)
## tibble [500 × 8] (S3: tbl_df/tbl/data.frame)
## $ Job_Title : Factor w/ 10 levels "AI Researcher",..: 2 5 1 8 2 10 4 2 1 8 ...
## $ Industry : Factor w/ 10 levels "Education","Energy",..: 3 8 8 7 3 1 4 8 7 3 ...
## $ Company_Size : Factor w/ 3 levels "Large","Medium",..: 3 1 1 3 3 1 2 3 1 2 ...
## $ Location : Factor w/ 10 levels "Berlin","Dubai",..: 2 7 7 1 9 6 7 2 3 7 ...
## $ AI_Adoption_Level : Factor w/ 3 levels "High","Low","Medium": 3 3 3 2 2 3 2 3 1 1 ...
## $ Automation_Risk : Factor w/ 3 levels "High","Low","Medium": 1 1 1 1 2 3 1 2 2 2 ...
## $ Remote_Friendly : Factor w/ 2 levels "No","Yes": 2 1 2 1 2 1 2 2 1 2 ...
## $ Job_Growth_Projection: Factor w/ 3 levels "Decline","Growth",..: 2 1 2 2 1 2 2 1 3 1 ...
Dữ liệu gồm 500 quan sát với 8 biến, trong đó nhiều biến định tính đã được đưa về dạng factor. Việc chuyển các biến như “Job_Title”, “Industry”, “Company_Size”, “Location”, “AI_Adoption_Level”, “Automation_Risk”, “Remote_Friendly”, “Job_Growth_Projection” sang dạng factor là hoàn toàn hợp lý. Điều này giúp biểu diễn rõ ràng các biến phân loại, hỗ trợ hiệu quả cho các bước phân tích thống kê, mô hình hóa cũng như trực quan hóa dữ liệu. Ngoài ra, factor còn giúp tiết kiệm bộ nhớ hơn so với chuỗi ký tự khi xử lý các giá trị lặp lại.
table(d$Job_Title)
##
## AI Researcher Cybersecurity Analyst Data Scientist
## 51 55 62
## HR Manager Marketing Specialist Operations Manager
## 57 48 44
## Product Manager Sales Manager Software Engineer
## 39 49 41
## UX Designer
## 54
tmp <- table(d$Job_Title)/sum(nrow(d))
tmp
##
## AI Researcher Cybersecurity Analyst Data Scientist
## 0.102 0.110 0.124
## HR Manager Marketing Specialist Operations Manager
## 0.114 0.096 0.088
## Product Manager Sales Manager Software Engineer
## 0.078 0.098 0.082
## UX Designer
## 0.108
# Tính tần suất và phần trăm
df_Job_Title <- d %>%
count(Job_Title) %>%
mutate(prop = n / sum(n),
pct = paste0(round(prop * 100), "%"))
ggplot(df_Job_Title, aes(x = Job_Title, y = n, fill = Job_Title)) +
geom_bar(stat = "identity", width = 0.6, color = "black") + # Viền đen quanh cột
scale_fill_brewer(palette = "Set3") +
geom_text(aes(label = pct), vjust = -0.3, size = 3) + # Hiển thị % trên cột
labs(title = "Biểu đồ cột về phân bố chức danh công việc", x = "Job_Title", y = "Frequency") +
theme_minimal(base_size = 14) +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1, face = "italic") # xoay 45 độ + nghiêng
)
Bộ dữ liệu bao gồm nhiều chức danh công việc đa dạng trong lĩnh vực công nghệ và quản trị. Trong số đó, Data Scientist chiếm tỷ lệ cao nhất với 12%, tiếp theo là HR Manager, Cybersecurity Analyst, và UX Designer, mỗi nhóm chiếm khoảng 11%. Các chức danh còn lại như AI Researcher, Marketing Specialist, Sales Manager và Operations Manager có tỷ lệ dao động từ 9–10%. Hai chức danh có tỷ lệ thấp nhất là Product Manager và Software Engineer, đều ở mức 8%.
Nhìn chung, tỷ lệ phân bố giữa các chức danh khá đồng đều, không có sự chênh lệch quá lớn. Điều này cho thấy bộ dữ liệu được phân bổ tương đối cân bằng giữa các loại hình công việc, giúp tạo điều kiện thuận lợi cho việc phân tích so sánh giữa các vị trí nghề nghiệp trong lĩnh vực liên quan đến AI và công nghệ.
table(d$Industry)
##
## Education Energy Entertainment Finance
## 57 49 47 53
## Healthcare Manufacturing Retail Technology
## 42 58 46 56
## Telecommunications Transportation
## 53 39
tmp <- table(d$Industry)/sum(nrow(d))
tmp
##
## Education Energy Entertainment Finance
## 0.114 0.098 0.094 0.106
## Healthcare Manufacturing Retail Technology
## 0.084 0.116 0.092 0.112
## Telecommunications Transportation
## 0.106 0.078
# Tính tần suất và phần trăm
df_Industry <- d %>%
count(Industry) %>%
mutate(prop = n / sum(n),
pct = paste0(round(prop * 100), "%"))
ggplot(df_Industry, aes(x = Industry, y = n, fill = Industry)) +
geom_bar(stat = "identity", width = 0.6, color = "black") + # Viền đen quanh cột
scale_fill_brewer(palette = "Set3") +
geom_text(aes(label = pct), vjust = -0.3, size = 3) + # Hiển thị % trên cột
labs(title = "Biểu đồ cột về phân bố các ngành lĩnh vực công nghiệp", x = "Industry", y = "Frequency") +
theme_minimal(base_size = 14) +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1, face = "italic") # xoay 45 độ + nghiêng
)
Biểu đồ cho thấy sự phân bố khá đồng đều giữa các ngành công nghiệp, với Manufacturing chiếm tỷ lệ cao nhất (12%), tiếp theo là các ngành Education, Finance, Technology và Telecommunications (cùng 11%). Ngành có tỷ lệ thấp nhất là Healthcare và Transportation (cùng 8%). Điều này phản ánh sự đa dạng trong phân bổ nguồn lực hoặc công việc giữa các lĩnh vực.
table(d$Company_Size)
##
## Large Medium Small
## 166 163 171
tmp <- table(d$Company_Size)/sum(nrow(d))
tmp
##
## Large Medium Small
## 0.332 0.326 0.342
df_company <- d %>%
count(Company_Size) %>%
mutate(Percent = round(100 * n / sum(n), 2))
ggplot(df_company, aes(x = "", y = n, fill = Company_Size)) +
geom_bar(stat = "identity", width = 1, color = "black") + # Viền đen
coord_polar("y", start = 0) +
theme_void(base_size = 12) +
scale_fill_brewer(palette = "Set2") + # Bảng màu tự động đẹp
labs(title = "Biểu đồ tròn về quy mô công ty") +
geom_text(aes(label = paste0(Percent, "%")), position = position_stack(vjust = 0.5)) +
theme(
plot.title = element_text(face = "bold", hjust = 0.5)
)
Biểu đồ tròn cho thấy quy mô công ty được phân bổ khá đồng đều. Nhóm công ty nhỏ chiếm tỷ lệ cao nhất với 34.2%, tiếp theo là công ty lớn (33.2%) và công ty vừa (32.6%). Điều này cho thấy dữ liệu được thu thập từ nhiều loại hình doanh nghiệp với quy mô khác nhau, không có sự chênh lệch lớn giữa các nhóm.
table(d$Location)
##
## Berlin Dubai London New York Paris
## 48 51 46 49 46
## San Francisco Singapore Sydney Tokyo Toronto
## 62 54 52 51 41
tmp <- table(d$Location)/sum(nrow(d))
tmp
##
## Berlin Dubai London New York Paris
## 0.096 0.102 0.092 0.098 0.092
## San Francisco Singapore Sydney Tokyo Toronto
## 0.124 0.108 0.104 0.102 0.082
# Tính tần suất và phần trăm
df_locate <- d %>%
count(Location) %>%
mutate(prop = n / sum(n),
pct = paste0(round(prop * 100), "%"))
ggplot(df_locate, aes(x = Location, y = n, fill = Location)) +
geom_bar(stat = "identity", width = 0.6, color = "black") + # Viền đen quanh cột
scale_fill_brewer(palette = "Set1") +
geom_text(aes(label = pct), vjust = -0.3, size = 3) + # Hiển thị % trên cột
labs(title = "Biểu đồ cột về phân bố địa điểm làm việc", x = "Location", y = "Frequency") +
theme_minimal(base_size = 14) +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1, face = "italic") # xoay 45 độ + nghiêng
)
Biểu đồ cho thấy địa điểm làm việc được phân bổ tương đối đồng đều giữa các thành phố. San Francisco chiếm tỷ lệ cao nhất với 12%, tiếp theo là Singapore (11%). Các thành phố như Berlin, Dubai, New York, Sydney và Tokyo đều ở mức 10%, trong khi London và Paris chiếm 9%. Toronto có tỷ lệ thấp nhất với 8%. Điều này phản ánh sự phân bổ khá đa dạng nhưng không chênh lệch lớn giữa các khu vực địa lý.
table(d$AI_Adoption_Level)
##
## High Low Medium
## 147 174 179
tmp <- table(d$AI_Adoption_Level)/sum(nrow(d))
tmp
##
## High Low Medium
## 0.294 0.348 0.358
df_ai <- d %>%
count(AI_Adoption_Level) %>%
mutate(Percent = round(100 * n / sum(n), 2))
ggplot(df_ai, aes(x = "", y = n, fill = AI_Adoption_Level)) +
geom_bar(stat = "identity", width = 1, color = "black") +
coord_polar("y", start = 0) +
theme_void(base_size = 12) +
scale_fill_brewer(palette = "Set1") +
labs(title = "Biểu đồ tròn về mức độ áp dụng AI trong doanh nghiệp") +
geom_text(aes(label = paste0(Percent, "%")), position = position_stack(vjust = 0.5)) +
theme(
plot.title = element_text(face = "bold", hjust = 0.5)
)
Biểu đồ cho thấy mức độ áp dụng AI trong doanh nghiệp chủ yếu ở mức trung bình (35.8%) và thấp (34.8%), trong khi mức độ áp dụng cao chiếm tỷ lệ thấp nhất (29.4%). Điều này phản ánh rằng phần lớn doanh nghiệp đang ở giai đoạn đầu hoặc đang trong quá trình chuyển đổi áp dụng AI.
table(d$Automation_Risk)
##
## High Low Medium
## 169 158 173
tmp <- table(d$Automation_Risk)/sum(nrow(d))
tmp
##
## High Low Medium
## 0.338 0.316 0.346
df_ar<- d %>%
count(Automation_Risk) %>%
mutate(Percent = round(100 * n / sum(n), 2))
ggplot(df_ar, aes(x = "", y = n, fill = Automation_Risk)) +
geom_bar(stat = "identity", width = 1, color = "black") +
coord_polar("y", start = 0) +
theme_void(base_size = 12) +
scale_fill_brewer(palette = "Set4") +
labs(title = "Biểu đồ tròn về rủi ro tự động hóa") +
geom_text(aes(label = paste0(Percent, "%")), position = position_stack(vjust = 0.5)) +
theme(
plot.title = element_text(face = "bold", hjust = 0.5)
)
Biểu đồ cho thấy rủi ro tự động hóa được phân bố khá đồng đều giữa các mức: rủi ro trung bình chiếm cao nhất (34.6%), tiếp theo là rủi ro cao (33.8%) và thấp nhất là rủi ro thấp (31.6%). Điều này cho thấy tự động hóa ảnh hưởng đến doanh nghiệp ở nhiều mức độ khác nhau, không tập trung vào một nhóm cụ thể.
table(d$Remote_Friendly)
##
## No Yes
## 249 251
tmp <- table(d$Remote_Friendly)/sum(nrow(d))
tmp
##
## No Yes
## 0.498 0.502
df_rf<- d %>%
count(Remote_Friendly) %>%
mutate(Percent = round(100 * n / sum(n), 2))
ggplot(df_rf, aes(x = "", y = n, fill = Remote_Friendly)) +
geom_bar(stat = "identity", width = 1, color = "black") +
coord_polar("y", start = 0) +
theme_void(base_size = 12) +
scale_fill_brewer(palette = "Set3") +
labs(title = "Biểu đồ tròn về khả năng làm việc từ xa") +
geom_text(aes(label = paste0(Percent, "%")), position = position_stack(vjust = 0.5)) +
theme(
plot.title = element_text(face = "bold", hjust = 0.5)
)
Biểu đồ cho thấy có 49.8% người không thể làm việc từ xa và 50.2% người có thể làm việc từ xa.
table(d$Job_Growth_Projection)
##
## Decline Growth Stable
## 169 169 162
tmp <- table(d$Job_Growth_Projection)/sum(nrow(d))
tmp
##
## Decline Growth Stable
## 0.338 0.338 0.324
# Tính tần suất và phần trăm
df_growth <- d %>%
count(Job_Growth_Projection) %>%
mutate(prop = n / sum(n),
pct = paste0(round(prop * 100), "%"))
ggplot(df_growth, aes(x = Job_Growth_Projection, y = n, fill = Job_Growth_Projection)) +
geom_bar(stat = "identity", width = 0.6, color = "black") + # Viền đen quanh cột
scale_fill_brewer(palette = "Set3") +
geom_text(aes(label = pct), vjust = -0.3, size = 3) + # Hiển thị % trên cột
labs(title = "Biểu đồ cột về khả năng tăng trưởng công việc", x = "Job_Growth_Projection", y = "Frequency") +
theme_minimal(base_size = 14) +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1, face = "italic") # xoay 45 độ + nghiêng
)
Biểu đồ phản ánh rằng khả năng tăng trưởng công việc trong tương lai đang ở mức không rõ ràng và phân hóa, khi tỷ lệ giữa ba nhóm tăng trưởng, ổn định và suy giảm gần như tương đương nhau. Cụ thể:
34% công việc dự báo tăng trưởng, cho thấy vẫn có cơ hội mở rộng việc làm trong một số lĩnh vực.
32% được đánh giá ổn định, cho thấy nhiều ngành nghề có xu hướng duy trì trạng thái hiện tại.
34% dự báo suy giảm, phản ánh nguy cơ mất việc hoặc thu hẹp quy mô ở nhiều ngành do các yếu tố như tự động hóa hoặc chuyển dịch công nghệ.
Biểu đồ cho thấy thị trường việc làm đang trong trạng thái bất định, và đòi hỏi người lao động cần linh hoạt thích nghi với những thay đổi, đặc biệt là trong bối cảnh chuyển đổi số và tự động hóa.
“Small” trong Company_Size, “High” trong Automation_Risk, “Yes” trong Remote_Friendly
# Đếm số lượng công ty có quy mô nhỏ
n_small <- sum(d$Company_Size == "Small")
#Tổng số quan sát
n_total <- nrow(d)
#Tính khoảng tin cậy 95% cho tỷ lệ quy mô nhỏ
prop.test(n_small, n_total, correct = FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: n_small out of n_total, null probability 0.5
## X-squared = 49.928, df = 1, p-value = 1.595e-12
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.3017655 0.3846438
## sample estimates:
## p
## 0.342
Kiểm định giả thuyết
Đặt giả thuyết:
\(H_0\): Tỷ lệ công ty quy mô nhỏ = 0.5
\(H_1\): Tỷ lệ công ty quy mô nhỏ ≠ 0.5
Ý nghĩa: Với độ tin cậy 95%, ta có thể kết luận rằng tỷ lệ quy mô nhỏ trong tổng số quy mô rơi vào khoảng từ 30,17% đến 38,46%.
# Đếm số lượng mức độ rủi ro tự động hóa
n_high <- sum(d$Automation_Risk == "High")
#Tổng số quan sát
n_total <- nrow(d)
#Tính khoảng tin cậy 95% cho tỷ lệ quy mô nhỏ
prop.test(n_high, n_total, correct = FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: n_high out of n_total, null probability 0.5
## X-squared = 52.488, df = 1, p-value = 4.329e-13
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.2979130 0.3805573
## sample estimates:
## p
## 0.338
Ý nghĩa: Với độ tin cậy 95%, ta có thể kết luận rằng mức độ rủi ro cao trong tổng số mức độ rủi ro tự động hóa rơi vào khoảng từ 29,79% đến 38,05%.
Kiểm định giả thuyết
Đặt giả thuyết:
\(H_0\): Tỷ lệ mức độ rủi ro cao = 0.6
\(H_1\): Tỷ lệ mức độ rủi ro cao ≠ 0.6
prop.test(n_high, n_total, p=0.6, correct = FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: n_high out of n_total, null probability 0.6
## X-squared = 143.01, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.6
## 95 percent confidence interval:
## 0.2979130 0.3805573
## sample estimates:
## p
## 0.338
Kết quả kiểm định cho thấy giá trị p-value: < 2.2e-16 (rất nhỏ, gần bằng 0).Với mức ý nghĩa 5%, do p-value rất nhỏ (< 0.05), nên ta bác bỏ giả thuyết \(H_0\). Điều này cho thấy tỷ lệ thực sự khác biệt đáng kể so với giá trị giả định là 0.6.
# Đếm số lượng có thể làm việc từ xa
n_yes <- sum(d$Remote_Friendly == "Yes")
#Tổng số quan sát
n_total <- nrow(d)
#Tính khoảng tin cậy 95% cho tỷ lệ quy mô nhỏ
prop.test(n_yes, n_total, correct = FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: n_yes out of n_total, null probability 0.5
## X-squared = 0.008, df = 1, p-value = 0.9287
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4583264 0.5456431
## sample estimates:
## p
## 0.502
Ý nghĩa: Với độ tin cậy 95%, ta có thể kết luận rằng người có thể làm việc từ xa trong tổng số người làm việc rơi vào khoảng từ 45,83% đến 54,56%.
Kiểm định giả thuyết
Đặt giả thuyết:
\(H_0\): Tỷ lệ người có thể làm việc từ xa = 0.5
\(H_1\): Tỷ lệ người có thể làm việc từ xa ≠ 0.5
prop.test(n_yes, n_total, p=0.5, correct = FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: n_yes out of n_total, null probability 0.5
## X-squared = 0.008, df = 1, p-value = 0.9287
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4583264 0.5456431
## sample estimates:
## p
## 0.502
Với mức ý nghĩa 5%, do p-value = 0.9287 > 0.05, nên ta không bác bỏ giả thuyết \(H_0\).
# Bảng tần số chéo
tab1 <- table(d$Automation_Risk, d$Job_Growth_Projection)
prop1 <- prop.table(tab1, margin = 1) # Tỷ lệ theo hàng
tab1
##
## Decline Growth Stable
## High 55 63 51
## Low 58 50 50
## Medium 56 56 61
ggplot(d, aes(x = Automation_Risk, fill = Job_Growth_Projection)) +
geom_bar(position = "dodge", color = "black") +
labs(title = "Phân bố sự tăng trưởng công việc theo mức độ rủi ro",
x = "Mức độ rủi ro tự động hóa",
y = "Số lượng",
fill = "Dự báo tăng trưởng việc làm") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Nhận xét: Biểu đồ cột chồng thể hiện sự phân bố tỷ lệ tăng trưởng công việc theo các mức độ rủi ro tự động hóa (Cao, Trung bình và Thấp). Nhìn chung, ba nhóm mức rủi ro có cơ cấu phân bố khá tương đồng về ba xu hướng tăng trưởng việc làm: tăng (Growth), ổn định (Stable) và giảm (Decline). Cụ thể, ở cả ba mức rủi ro, tỷ lệ công việc có xu hướng tăng trưởng và ổn định đều chiếm phần lớn, dao động quanh mức 30–35%, trong khi tỷ lệ suy giảm cũng ở mức tương đương. Điều này cho thấy rằng rủi ro tự động hóa không hoàn toàn quyết định đến triển vọng tăng trưởng việc làm.
Giả thuyết kiểm định:
\(H_0\): Automation_Risk và Job_Growth_Projection là hai biến độc lập.
\(H_1\): Automation_Risk và Job_Growth_Projection có liên quan.
Thực hiện kiểm định Chi-bình phương
chi_test <- chisq.test(tab1)
chi_test
##
## Pearson's Chi-squared test
##
## data: tab1
## X-squared = 2.2277, df = 4, p-value = 0.694
Kết quả kiểm định cho thấy giá trị p-value = 0.694. Với mức ý nghĩa 5%, do p-value lớn hơn 0.05, ta không bác bỏ giả thuyết \(H_0\), tức là giả thuyết cho rằng Automation_Risk và Job_Growth_Projection là độc lập với nhau.
# Bảng tần suất chéo
tab2 <- table(d$Job_Title, d$Automation_Risk)
prop2 <- prop.table(tab2, margin = 1) # Tỷ lệ theo hàng
tab2
##
## High Low Medium
## AI Researcher 20 15 16
## Cybersecurity Analyst 23 21 11
## Data Scientist 17 25 20
## HR Manager 15 16 26
## Marketing Specialist 17 10 21
## Operations Manager 10 18 16
## Product Manager 16 12 11
## Sales Manager 20 18 11
## Software Engineer 15 13 13
## UX Designer 16 10 28
ggplot(d, aes(x = Job_Title, fill = Automation_Risk)) +
geom_bar(position = "dodge", color = "black") +
scale_fill_brewer(palette = "Set2") +
labs(
title = "Phân bố vị trí công việc ảnh hưởng đến mức độ rủi ro",
x = "Vị trí",
y = "Số lượng",
fill = "Mức độ"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Nhận xét:
Biểu đồ thể hiện mức độ rủi ro tự động hóa (Automation Risk) tương ứng với từng vị trí công việc cho thấy có sự khác biệt rõ rệt giữa các nhóm nghề nghiệp. Một số vị trí như Data Scientist và UX Designer có tỷ lệ rủi ro thấp hoặc trung bình cao hơn đáng kể, cho thấy những công việc này ít bị đe dọa bởi tự động hóa nhờ yêu cầu kỹ năng phân tích, sáng tạo và chuyên môn cao.
Ngược lại, các vị trí như Cybersecurity Analyst, Marketing Specialist và Sales Manager có mức rủi ro cao chiếm tỷ lệ lớn hơn, phản ánh khả năng các công việc này có thể bị thay thế một phần bởi các hệ thống tự động hoặc AI trong tương lai.
Đáng chú ý, các vị trí như HR Manager và Operations Manager lại phân bố khá đều giữa các mức độ rủi ro, cho thấy tính chất công việc có thể linh hoạt và chịu ảnh hưởng ở mức độ trung bình từ các công nghệ mới.
Nhìn chung, biểu đồ phản ánh mối liên hệ giữa tính chất công việc và mức độ rủi ro bị thay thế bởi tự động hóa, hỗ trợ cho kết quả kiểm định thống kê cho rằng vị trí công việc có ảnh hưởng đáng kể đến mức độ rủi ro tự động hóa.
Giả thuyết kiểm định:
\(H_0\): Job_Title và Automation_Risk là hai biến độc lập.
\(H_1\): Job_Title và Automation_Risk có liên quan.
Thực hiện kiểm định Chi-bình phương
chi_test <- chisq.test(tab2)
chi_test
##
## Pearson's Chi-squared test
##
## data: tab2
## X-squared = 29.495, df = 18, p-value = 0.04265
Kết quả kiểm định Chi-squared (X² = 29.495, df = 18, p-value = 0.04265) chỉ ra rằng có mối liên hệ có ý nghĩa thống kê giữa rủi ro bị tự động hóa và vị trí công việc. Với mức ý nghĩa 5% (α = 0.05), giá trị p < 0.05 cho phép bác bỏ giả thuyết H₀ (không có mối quan hệ giữa hai biến), tức là mức độ rủi ro không phân bố ngẫu nhiên theo các loại vị trí công việc.
Điều này hàm ý rằng vị trí công việc là một yếu tố quan trọng ảnh hưởng đến mức độ rủi ro bị thay thế bởi công nghệ hoặc tự động hóa. Các công việc đòi hỏi kỹ năng chuyên môn sâu, sáng tạo hoặc liên quan đến công nghệ như AI Researcher, Data Scientist, UX Designer có xu hướng đối mặt với rủi ro thấp hơn, trong khi các công việc thiên về vận hành, bán hàng hoặc quản lý truyền thống có thể đối mặt với rủi ro cao hơn.
# Bảng tần suất chéo
tab3 <- table(d$AI_Adoption_Level, d$Job_Growth_Projection)
prop3 <- prop.table(tab3, margin = 1) # Tỷ lệ theo hàng
tab3
##
## Decline Growth Stable
## High 55 46 46
## Low 52 61 61
## Medium 62 62 55
ggplot(d, aes(x =AI_Adoption_Level, fill = Job_Growth_Projection)) +
geom_bar(position = "dodge", color = "black") +
scale_fill_brewer(palette = "Set3") +
labs(
title = "Múc độ áp dụng AI ảnh hưởng đến sự tăng trưởng công việc",
y = "Số lượng",
fill = "Tăng trưởng"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Giả thuyết kiểm định:
\(H_0\): AI_Adoption_Level và Job_Growth_Projection là hai biến độc lập.
\(H_1\): AI_Adoption_Level và Job_Growth_Projection có liên quan.
Thực hiện kiểm định Chi-bình phương
chi_test <- chisq.test(tab3)
chi_test
##
## Pearson's Chi-squared test
##
## data: tab3
## X-squared = 2.3761, df = 4, p-value = 0.667
Dựa trên kết quả kiểm định Chi-squared (X-squared = 2.3761, df = 4, p-value = 0.667), ta nhận thấy rằng giá trị p-value khá cao, vượt xa ngưỡng ý nghĩa phổ biến (0.05). Điều này cho thấy không có đủ bằng chứng thống kê để bác bỏ giả thuyết không, tức là không có mối liên hệ rõ ràng giữa mức độ áp dụng AI và xu hướng tăng trưởng việc làm trong tương lai.
# Bảng tần suất chéo
tab4 <- table(d$Job_Title, d$Remote_Friendly)
prop4 <- prop.table(tab4, margin = 1) # Tỷ lệ theo hàng
tab4
##
## No Yes
## AI Researcher 33 18
## Cybersecurity Analyst 21 34
## Data Scientist 28 34
## HR Manager 23 34
## Marketing Specialist 23 25
## Operations Manager 25 19
## Product Manager 18 21
## Sales Manager 19 30
## Software Engineer 24 17
## UX Designer 35 19
ggplot(d, aes(x = Job_Title, fill = Remote_Friendly)) +
geom_bar(position = "dodge", color = "black") +
scale_fill_brewer(palette = "Set4") +
labs(
title = "Vị trí công việc ảnh hưởng đến khả năng làm việc từ xa",
y = "Số lượng",
fill = "Có hay không"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Giả thuyết kiểm định:
\(H_0\):Job_Title và Remote_Friendly là hai biến độc lập.
\(H_1\): Job_Title và Remote_Friendly có liên quan.
Thực hiện kiểm định Chi-bình phương
chi_test <- chisq.test(tab4)
chi_test
##
## Pearson's Chi-squared test
##
## data: tab4
## X-squared = 19.718, df = 9, p-value = 0.01974
Kết quả kiểm định Chi-squared (X² = 19.718, df = 9, p-value = 0.01974) cho thấy có mối quan hệ có ý nghĩa thống kê giữa vị trí công việc và khả năng làm việc từ xa. Với mức ý nghĩa 5% (α = 0.05), giá trị p nhỏ hơn 0.05 cho phép bác bỏ giả thuyết H₀ (không có mối liên hệ), đồng nghĩa với việc khả năng làm việc từ xa phụ thuộc vào loại công việc.
Điều này hàm ý rằng một số vị trí công việc có xu hướng linh hoạt hơn trong việc cho phép làm từ xa, trong khi những vị trí khác thì không.
tab_ai_growth <- table(d$AI_Adoption_Level, d$Job_Growth_Projection)
tab_ai_growth
##
## Decline Growth Stable
## High 55 46 46
## Low 52 61 61
## Medium 62 62 55
oddsratio(table(d$AI_Adoption_Level, d$Job_Growth_Projection))
## $data
##
## Decline Growth Stable Total
## High 55 46 46 147
## Low 52 61 61 174
## Medium 62 62 55 179
## Total 169 169 162 500
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## High 1.000000 NA NA
## Low 1.399638 0.8162035 2.410146
## Medium 1.194320 0.7044940 2.029890
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## High NA NA NA
## Low 0.2220191 0.3904066 0.3618456
## Medium 0.5097956 0.7989014 0.7967502
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Tuy nhiên, khoảng tin cậy 95% (0.82 – 2.41) bao gồm giá trị 1, nghĩa là không đủ bằng chứng thống kê để kết luận sự khác biệt có ý nghĩa.
p-value (midp.exact = 0.222; chi-square = 0.362) > 0.05 ⇒ không có ý nghĩa thống kê.
Khoảng tin cậy (0.70 – 2.03) cũng bao gồm 1, nên chưa có bằng chứng thống kê rõ ràng.
p-value (midp.exact = 0.51; chi-square = 0.80) cũng đều lớn hơn 0.05.
riskratio(tab_ai_growth)
## $data
##
## Decline Growth Stable Total
## High 55 46 46 147
## Low 52 61 61 174
## Medium 62 62 55 179
## Total 169 169 162 500
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## High 1.000000 NA NA
## Low 1.185264 0.9022174 1.557108
## Medium 1.097826 0.8326237 1.447499
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## High NA NA NA
## Low 0.2220191 0.3904066 0.3618456
## Medium 0.5097956 0.7989014 0.7967502
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ lệ việc làm có xu hướng suy giảm, ổn định hoặc tăng trưởng được phân bố khá đều giữa các nhóm rủi ro Cao, Trung bình và Thấp, với tổng cộng 500 quan sát. Nhóm có rủi ro Cao được dùng làm nhóm tham chiếu (risk ratio = 1).
Nhóm Trung bình có risk ratio là 1.10 (CI: 0.83–1.45), cũng tương tự: không có ý nghĩa thống kê.
tab_locate_remote <- table(d$Location, d$Remote_Friendly)
tab_locate_remote
##
## No Yes
## Berlin 27 21
## Dubai 22 29
## London 20 26
## New York 25 24
## Paris 18 28
## San Francisco 31 31
## Singapore 30 24
## Sydney 32 20
## Tokyo 24 27
## Toronto 20 21
Kết quả cho thấy có sự khác biệt nhất định giữa các thành phố về tỷ lệ làm việc từ xa, tuy nhiên sự chênh lệch không đồng đều. Cụ thể:
Dubai có 29 người làm việc từ xa so với 22 người không làm, cho thấy xu hướng làm việc từ xa phổ biến hơn.
Paris cũng tương tự với 28 người làm việc từ xa, cao hơn so với 18 người không làm.
London có 26 người làm việc từ xa, so với 20 người không làm.
Tokyo cũng nghiêng về làm việc từ xa với tỷ lệ 27 so với 24.
Ngược lại:
Sydney có 32 người không làm việc từ xa, cao hơn đáng kể so với 20 người làm việc từ xa.
Singapore ghi nhận 30 người không làm việc từ xa, so với 24 người làm việc từ xa.
Berlin có 27 người không làm từ xa, cao hơn 21 người có làm từ xa.
Có thể thấy vị trí địa lý có ảnh hưởng nhất định đến xu hướng làm việc từ xa. Một số thành phố như Dubai, Paris và London có tỷ lệ làm việc từ xa cao hơn, trong khi Sydney, Berlin và Singapore lại có xu hướng ưu tiên làm việc tại chỗ.
oddsratio(table(d$Location, d$Remote_Friendly))
## $data
##
## No Yes Total
## Berlin 27 21 48
## Dubai 22 29 51
## London 20 26 46
## New York 25 24 49
## Paris 18 28 46
## San Francisco 31 31 62
## Singapore 30 24 54
## Sydney 32 20 52
## Tokyo 24 27 51
## Toronto 20 21 41
## Total 249 251 500
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## Berlin 1.0000000 NA NA
## Dubai 1.6828254 0.7587976 3.785454
## London 1.6593259 0.7328214 3.812512
## New York 1.2307147 0.5502414 2.769467
## Paris 1.9802015 0.8711279 4.594434
## San Francisco 1.2815462 0.5990111 2.764057
## Singapore 1.0280047 0.4663878 2.271050
## Sydney 0.8058327 0.3585616 1.801981
## Tokyo 1.4392555 0.6496241 3.221139
## Toronto 1.3441261 0.5787392 3.147258
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Berlin NA NA NA
## Dubai 0.2009056 0.2299023 0.19217596
## London 0.2252614 0.3022395 0.21572135
## New York 0.6132335 0.6854103 0.60559320
## Paris 0.1033418 0.1046118 0.09672707
## San Francisco 0.5230331 0.5665437 0.51495343
## Singapore 0.9452945 1.0000000 0.94379282
## Sydney 0.5987324 0.6850549 0.59113143
## Tokyo 0.3701768 0.4230592 0.36044866
## Toronto 0.4916275 0.5275836 0.48168152
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Nhóm tham chiếu được chọn là Berlin, với odds ratio bằng 1. So sánh với Berlin, một số thành phố như Dubai (OR = 1.68), London (OR = 1.66), Paris (OR = 1.98) cho thấy có xu hướng cao hơn về khả năng làm việc từ xa, tức là nhân sự tại các thành phố này có khả năng được làm việc từ xa nhiều hơn so với Berlin. Tuy nhiên, các khoảng tin cậy 95% của các thành phố này đều chứa giá trị 1, cho thấy sự khác biệt không có ý nghĩa thống kê rõ ràng.
Trong số đó, Paris là thành phố có mức odds ratio cao nhất (OR = 1.98) và p-value thấp nhất (≈ 0.10), tiệm cận ngưỡng ý nghĩa thống kê, gợi ý rằng có thể có mối liên hệ tiềm ẩn giữa vị trí địa lý và khả năng làm việc từ xa, nhưng vẫn chưa đủ mạnh để kết luận chắc chắn.
Ngược lại, các thành phố như Sydney (OR = 0.81) lại có odds ratio nhỏ hơn 1, cho thấy xu hướng làm việc từ xa thấp hơn Berlin, nhưng sự khác biệt này cũng không có ý nghĩa thống kê (p = 0.60).
riskratio(tab_locate_remote)
## $data
##
## No Yes Total
## Berlin 27 21 48
## Dubai 22 29 51
## London 20 26 46
## New York 25 24 49
## Paris 18 28 46
## San Francisco 31 31 62
## Singapore 30 24 54
## Sydney 32 20 52
## Tokyo 24 27 51
## Toronto 20 21 41
## Total 249 251 500
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Berlin 1.0000000 NA NA
## Dubai 1.2997199 0.8711874 1.939045
## London 1.2919255 0.8583981 1.944403
## New York 1.1195335 0.7285549 1.720331
## Paris 1.3913043 0.9366349 2.066683
## San Francisco 1.1428571 0.7614793 1.715244
## Singapore 1.0158730 0.6555879 1.574157
## Sydney 0.8791209 0.5493386 1.406880
## Tokyo 1.2100840 0.8013652 1.827261
## Toronto 1.1707317 0.7552579 1.814761
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Berlin NA NA NA
## Dubai 0.2009056 0.2299023 0.19217596
## London 0.2252614 0.3022395 0.21572135
## New York 0.6132335 0.6854103 0.60559320
## Paris 0.1033418 0.1046118 0.09672707
## San Francisco 0.5230331 0.5665437 0.51495343
## Singapore 0.9452945 1.0000000 0.94379282
## Sydney 0.5987324 0.6850549 0.59113143
## Tokyo 0.3701768 0.4230592 0.36044866
## Toronto 0.4916275 0.5275836 0.48168152
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Risk Ratio (Tỷ lệ rủi ro): Các thành phố như Dubai, London và Paris có risk ratio lần lượt là 1.30, 1.29 và 1.39, cho thấy xác suất làm việc từ xa cao hơn so với Berlin từ khoảng 29% đến 39%. Tuy nhiên, các khoảng tin cậy 95% của các tỷ lệ này đều bao gồm giá trị 1 (ví dụ Paris: 0.94–2.07), nên không thể khẳng định sự khác biệt này là có ý nghĩa thống kê.
Ngược lại, Sydney có risk ratio là 0.88 (CI: 0.55–1.41), cho thấy xu hướng làm việc từ xa thấp hơn Berlin, nhưng khoảng tin cậy cũng bao gồm 1.
Giá trị p (p-value): Các giá trị p từ các kiểm định (midp.exact, fisher.exact, chi.square) của tất cả các thành phố đều lớn hơn 0.05, cho thấy không có sự khác biệt đáng kể về tỷ lệ làm việc từ xa giữa các thành phố.