Dữ liệu sử dụng trong nghiên cứu là dữ liệu về nhân sự để đánh giá quy trình sàng lọc ứng viên
Functional competency test: điểm kiểm tra năng lực(FCT)
top1_skills_score: điểm kiểm tra năng lực thứ nhất (SC1)
top2_skills_score: điểm kiểm tra năng lực thứ hai(SC2)
top3_skills_score: điểm kiểm tra năng lực thứ ba(SC3)
HR behavior test: điểm kiểm tra hành vi nhân sự (HRBT)
top1_behavior_skill_score: điểm kiểm tra hành vi ứng xử thứ nhất(BSC1)
top2_behavior_skill_score: điểm kiểm tra hành vi ứng xử thứ hai(BSC2)
library(PerformanceAnalytics)
## Warning: package 'PerformanceAnalytics' was built under R version 4.2.3
## Loading required package: xts
## Warning: package 'xts' was built under R version 4.2.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.2.3
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
library(readxl)
## Warning: package 'readxl' was built under R version 4.2.3
dataset <- read_excel("C:/Users/dell/Downloads/archive (2)/dataset.xlsx")
mdata<-dataset[,c(2:8)]
names(mdata)<-c("FCT","SC1","SC2","SC3","HRBT","BSC1","BSC2")
head(mdata,6)
## # A tibble: 6 × 7
## FCT SC1 SC2 SC3 HRBT BSC1 BSC2
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0.749 0.778 0.7 0.8 0.769 0.932 0.662
## 2 0.491 0.778 0.3 0.4 0.154 0.352 0.132
## 3 0.460 0.444 0.3 0.3 0.0513 0.0523 0.0898
## 4 0.507 0.556 0.4 0.5 0.385 0.310 0.290
## 5 0.662 0.667 0.7 0.5 0.462 0.498 0.398
## 6 0.585 1 0.8 0.8 0.872 0.759 0.821
Dùng lệnh res() để hiển thị hệ số tương quan giữa các cặp biến. Sau đó dùng round() để làm tròn đến chữ số thập phân thứ 3. Nếu muốn làm tròn đến chữ số thập phân thứ 4, ta có thể thay số 3 thành 4.
res <- cor(mdata)
round(res, 3)
## FCT SC1 SC2 SC3 HRBT BSC1 BSC2
## FCT 1.000 0.448 0.337 0.425 0.540 0.710 0.733
## SC1 0.448 1.000 0.644 0.675 0.704 0.647 0.644
## SC2 0.337 0.644 1.000 0.630 0.722 0.616 0.646
## SC3 0.425 0.675 0.630 1.000 0.729 0.670 0.679
## HRBT 0.540 0.704 0.722 0.729 1.000 0.890 0.883
## BSC1 0.710 0.647 0.616 0.670 0.890 1.000 0.866
## BSC2 0.733 0.644 0.646 0.679 0.883 0.866 1.000
Nhìn vào kết quả, ta thấy mức độ tương quan giữa FCT và SC1 là 0.448 > 0, vậy thì 2 biến này có mối quan hệ thuận, nếu biến FCT tăng thì SC1 cũng tăng. Tương tự cho các cặp biến còn lại.
Lệnh rcorr() trong package Hmisc tính giá trị p của ma trận hệ số tương quan như Pearson hoặc là Spearman. Kết quả trả về bao gồm ma trận hệ số tương quan và giá trị p Của mối tương quan của các cặp biến tỏng dữ liệu.
Nếu chúng ta chỉ muốn kết quả hiển thị hoặc là hệ số tương quan hoặc là p_value thì có thể làm như sau:
library(Hmisc)
## Warning: package 'Hmisc' was built under R version 4.2.3
##
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:base':
##
## format.pval, units
res2<-rcorr(as.matrix(mdata))
res2
## FCT SC1 SC2 SC3 HRBT BSC1 BSC2
## FCT 1.00 0.45 0.34 0.42 0.54 0.71 0.73
## SC1 0.45 1.00 0.64 0.67 0.70 0.65 0.64
## SC2 0.34 0.64 1.00 0.63 0.72 0.62 0.65
## SC3 0.42 0.67 0.63 1.00 0.73 0.67 0.68
## HRBT 0.54 0.70 0.72 0.73 1.00 0.89 0.88
## BSC1 0.71 0.65 0.62 0.67 0.89 1.00 0.87
## BSC2 0.73 0.64 0.65 0.68 0.88 0.87 1.00
##
## n= 300
##
##
## P
## FCT SC1 SC2 SC3 HRBT BSC1 BSC2
## FCT 0 0 0 0 0 0
## SC1 0 0 0 0 0 0
## SC2 0 0 0 0 0 0
## SC3 0 0 0 0 0 0
## HRBT 0 0 0 0 0 0
## BSC1 0 0 0 0 0 0
## BSC2 0 0 0 0 0 0
Hệ số tương quan Pearson
res2$r
## FCT SC1 SC2 SC3 HRBT BSC1 BSC2
## FCT 1.0000000 0.4481558 0.3366250 0.4248624 0.5404348 0.7103810 0.7334907
## SC1 0.4481558 1.0000000 0.6435294 0.6749670 0.7041873 0.6468044 0.6437735
## SC2 0.3366250 0.6435294 1.0000000 0.6303625 0.7223210 0.6156782 0.6455438
## SC3 0.4248624 0.6749670 0.6303625 1.0000000 0.7286010 0.6699226 0.6787113
## HRBT 0.5404348 0.7041873 0.7223210 0.7286010 1.0000000 0.8903818 0.8831503
## BSC1 0.7103810 0.6468044 0.6156782 0.6699226 0.8903818 1.0000000 0.8662541
## BSC2 0.7334907 0.6437735 0.6455438 0.6787113 0.8831503 0.8662541 1.0000000
Hàm rcorr tính toán ma trận tương quan và giá trị p cho từng cặp biến trong ma trận mdata. Kết quả được lưu trữ trong đối tượng res2
Dưới đây là các kết quả tính toán các giá trị p value:
Hệ số Pearson và ý nghĩa kết quả tính toán
Hệ số tương quan là chỉ số thống kê đo lường mức độ mạnh yếu của mối quan hệ giữa hai biến số.
Trong đó: Hệ số tương quan có giá trị từ -1.0 đến 1.0. Kết quả được tính ra lớn hơn 1.0 hoặc nhỏ hơn -1 có nghĩa là có lỗi trong phép đo tương quan.
• Hệ số tương quan có giá trị âm cho thấy hai biến có mối quan hệ nghịch biến hoặc tương quan âm (nghịch biến tuyệt đối khi giá trị bằng -1)
• Hệ số tương quan có giá trị dương cho thấy mối quan hệ đồng biến hoặc tương quan dương (đồng biến tuyệt đối khi giá trị bằng 1)
• Tương quan bằng 0 cho hai biến độc lập với nhau
#Tính p_value
res2$P
## FCT SC1 SC2 SC3 HRBT BSC1 BSC2
## FCT NA 4.440892e-16 2.208929e-09 1.421085e-14 0 0 0
## SC1 4.440892e-16 NA 0.000000e+00 0.000000e+00 0 0 0
## SC2 2.208929e-09 0.000000e+00 NA 0.000000e+00 0 0 0
## SC3 1.421085e-14 0.000000e+00 0.000000e+00 NA 0 0 0
## HRBT 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 NA 0 0
## BSC1 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0 NA 0
## BSC2 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0 0 NA
Phần này cung cấp một hàm đơn giản để định dạng ma trận tương quan vào bảng với 4 cột chứa:
Cột 1 : tên hàng
Cột 2 : tên cột
Cột 3 : các hệ số tương quan
Cột 4 : các giá trị p của các tương quan
flattenCorrMatrix <- function(cormat, pmat) {
ut <- upper.tri(cormat)
data.frame(
row = rownames(cormat)[row(cormat)[ut]],
column = rownames(cormat)[col(cormat)[ut]],
cor =(cormat)[ut],
p = pmat[ut]
)
}
flattenCorrMatrix(res2$r, res2$P)
## row column cor p
## 1 FCT SC1 0.4481558 4.440892e-16
## 2 FCT SC2 0.3366250 2.208929e-09
## 3 SC1 SC2 0.6435294 0.000000e+00
## 4 FCT SC3 0.4248624 1.421085e-14
## 5 SC1 SC3 0.6749670 0.000000e+00
## 6 SC2 SC3 0.6303625 0.000000e+00
## 7 FCT HRBT 0.5404348 0.000000e+00
## 8 SC1 HRBT 0.7041873 0.000000e+00
## 9 SC2 HRBT 0.7223210 0.000000e+00
## 10 SC3 HRBT 0.7286010 0.000000e+00
## 11 FCT BSC1 0.7103810 0.000000e+00
## 12 SC1 BSC1 0.6468044 0.000000e+00
## 13 SC2 BSC1 0.6156782 0.000000e+00
## 14 SC3 BSC1 0.6699226 0.000000e+00
## 15 HRBT BSC1 0.8903818 0.000000e+00
## 16 FCT BSC2 0.7334907 0.000000e+00
## 17 SC1 BSC2 0.6437735 0.000000e+00
## 18 SC2 BSC2 0.6455438 0.000000e+00
## 19 SC3 BSC2 0.6787113 0.000000e+00
## 20 HRBT BSC2 0.8831503 0.000000e+00
## 21 BSC1 BSC2 0.8662541 0.000000e+00
FCt Có một mức độ tương quan dương với các chỉ số kỹ năng hàng đầu (SC1,SC2,SC3). Điều này cho thấy rằng những người có điểm năng lực chuyên môn cao có xu hướng có điểm số kỹ năng hàng đầu cao hơn.
HRBT có một mức độ tương quan dương với các chỉ số kỹ năng hành vi (BSC1, BSC2). Điều này cho thấy rằng những người có điểm năng lực hành vi cao có xu hướng có điểm số kỹ năng hành vi hàng đầu cao hơn.
Tương quan giữa các chỉ số kỹ năng: Có mức độ tương quan dương khá mạnh giữa các chỉ số kỹ năng hàng đầu (SC1, SC2) và giữa các chỉ số kỹ năng hàng đầu và kỹ năng thứ ba hàng đầu (SC3). Điều này cho thấy rằng những người có điểm số kỹ năng hàng đầu cao cũng có xu hướng có điểm số kỹ năng cao trong các hạng mục khác.
symnum(res, abbr.colnames = FALSE)
## FCT SC1 SC2 SC3 HRBT BSC1 BSC2
## FCT 1
## SC1 . 1
## SC2 . , 1
## SC3 . , , 1
## HRBT . , , , 1
## BSC1 , , , , + 1
## BSC2 , , , , + + 1
## attr(,"legend")
## [1] 0 ' ' 0.3 '.' 0.6 ',' 0.8 '+' 0.9 '*' 0.95 'B' 1
Giữa FCS và HRBT: Cả hai điểm số này đều được gán giá trị 1, cho thấy cả năng lực chuyên môn và năng lực hành vi của cá nhân đang được đánh giá là tốt.
Giữa SC1,SC2 và SC3: Các điểm số này cho thấy sự xếp hạng của các kỹ năng hàng đầu.
Giữa BSC1 và BSC2: Các điểm số này cho thấy sự xếp hạng của các kỹ năng hành vi hàng đầu. Với cả hai điểm số đều được gán giá trị 1, có thể hiểu rằng các kỹ năng này được đánh giá là tốt.
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.2.3
## corrplot 0.92 loaded
corrplot(res, type = "upper", order = "hclust",
tl.col = "black", tl.srt = 45)
Functional competency test: điểm kiểm tra năng lực (FCT)
top1_skills_score: điểm kiểm tra năng lực thứ nhất (SC1)
top2_skills_score: điểm kiểm tra năng lực thứ hai (SC2)
top3_skills_score: điểm kiểm tra năng lực thứ ba (SC3)
HR behavior test: điểm kiểm tra hành vi nhân sự (HRBT)
top1_behavior_skill_score: điểm kiểm tra hành vi ứng xử thứ nhất (BSC1)
top2_behavior_skill_score: điểm kiểm tra hành vi ứng xử thứ hai (BSC2)
Biểu đồ tương quan (correlation plot) giúp chúng ta có thể sự tương quan giữa điểm kiểm tra năng lực (FCT) và điểm kiểm tra hành vi nhân sự (HRBT)
Biểu đồ cho ta thấy 2 yếu tố trên có sự tương quan cực kì chặt chẽ với nhau, hệ số hồi quy luôn dương.
Vì không có các cặp liên kết yếu nên ta sẽ chia như sau:
0.6 : Liên kết vừa: còn lại
0.8 : liên kết mạnh: BSC2-BCS, BSC2-BSC1, BSC-BSC1
chart.Correlation(mdata, histogram=TRUE, pch=19)
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
## Warning in par(usr): argument 1 does not name a graphical parameter
Đường chéo của biểu đồ thể hiện của từng biến
Nửa dưới đường chéo là các ô đồ thị dạng scatter thể hiện sự tương quan với nhau của từng biến, ví dụ:
Dòng 2 cột 1 thể hiện sự tương quan của biến BCS và SC1
Dòng 3 cột 3 thể hiện sự tương quan của biến SC2 và SC3
Nửa trên đường chéo là các hệ số tương quan và mức ý nghĩa thể hiện giá trị (value), ví dụ:
Dòng 1 cột 4 thể hiện giá trị của 2 biến BCS và SC3 là 0.42
Dòng 2 cột 7 thể hiện giá trị của 2 biến SC1 và BCS2 là 0.73
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
library(ggcorrplot)
## Warning: package 'ggcorrplot' was built under R version 4.2.3
df <- dplyr::select_if(mdata, is.numeric)
r <- cor(df, use="complete.obs")
ggcorrplot(r)
Tương tự như các biểu đồ trên thì độ thì này cũng thể hiện sự tương quan của các biến màu sắc càng đậm thì sự tương quan càng mạnh và ngược lại màu sắc càng nhạt thì sự tương quan càng yếu.