#— Giới thiệu
Tài liệu dưới này giới thiệu các lệnh cơ bản về Kiểm định Bartlett, Hệ số KMO và Độ tin cậy Cronbach’s alpha. + Data thực hành lấy tại trang website gốc: https://archive.ics.uci.edu/ml/datasets/wiki4he hoặc đã chỉnh sửa các phạm trù của biến chất lượng và upload tại link google driver: https://drive.google.com/drive/folders/17Cd5NFN3SRQ_rHLYDqjt93lxY-W5tQT1?usp=sharing + Chi tiết lý thuyết bài trình bày của Trịnh Thị Hường (TMU) và Nguyễn Thanh Nga (HVNN) tại https://drive.google.com/drive/folders/1b9A4Rv_amDtVGoIczMhJaek0SBnjTtQE?usp=sharing
Nhập số liệu và gọi các gói lệnh. Trong đó, gói psych chứa các hàm để thực hiện các kiểm định ở trên.
setwd("D:/Taphuan_VIASM/Chuoi Seminar/Rcode")
load("wiki4he.RDATA")
require(tidyverse)
require(psych)
Từ data ban đầu wiki4he, chúng ta loại bỏ các biến không quan tâm, sau đó có thể xem thêm cấu trúc dữ iệu và loại bỏ các giá trị rỗng.
d <- wiki4he %>% select(-c(AGE,GENDER, DOMAIN, PhD,YEARSEXP,
UNIVERSITY,UOC_POSITION , OTHER_POSITION, OTHERSTATUS, USERWIKI ))
head(d)
names(d)
summary(d)
d <- na.omit(d)
vì các kiểm định trên được xây dựng trên ma trận tương quan và tự tương quan của ma trận biến quan sát, nên có các lệnh sau để quan sát ma trận tương quan và hiệp phương sai, đồng thời, có thể vẽ các ma trận.
ví dụ, chúng ta quan tâm đến các biến quan sát về use (Use behaviour). Chi tiết tên các biến từ website gốc tại https://archive.ics.uci.edu/ml/datasets/wiki4he
raqMatrix <- cor(d %>% select(Use1, Use2, Use3, Use4, Use5 ))
raqMatrix
CovMatric <- cov(d %>% select(Use1, Use2, Use3, Use4, Use5 ))
CovMatric
Vẽ hình minh họa ma trận hiêp
library(corrplot)
corrplot(raqMatrix, method="circle")
corrplot(raqMatrix, method="color")
cortest.bartlett(d)
raqMatrix <- cor(d)
KMO(raqMatrix)
alpha(d)
alpha(d %>% select(PU1, PU2, PU3 ))
alpha(d %>% select(PEU1, PEU2, PEU3 ))
Đoạn code sau để lấy ra hệ số Alpha của từng nhân tố và average inter-item correlation tương ứng tương ứng 2 cột đầu tiên trong TABLE 2. Internal reliability, convergent validity, and discriminant validity of the constructs. của bài báo https://asistdl.onlinelibrary.wiley.com/doi/abs/10.1002/asi.23488
fun1 <- function(dauvao, tennhanto)
{
tempt <- data.frame(value = c(dauvao[[1]]$std.alpha, dauvao[[3]][, "std.r"] ),
row.names = c(paste0(tennhanto, "Alpha"),
paste0("Items", names(dauvao[["keys"]]))))
return(tempt)
}
aPU <- fun1( alpha(d %>% select(PU1, PU2, PU3 )), "PU")
aPEU <- fun1( alpha(d %>% select(PEU1, PEU2, PEU3 )), "PEU")
aENJ <- fun1( alpha(d %>% select(ENJ1, ENJ2 )) , "ENJ")
aQU <- fun1( alpha(d %>% select( Qu1, Qu2, Qu3, Qu4, Qu5), 'check.keys=TRUE'), "Qu")
aVis <- fun1( alpha(d %>% select(Vis1, Vis2, Vis3)), "Vis")
aIm <- fun1( alpha(d %>% select( Im1, Im2, Im3 )), "Im")
aSA <- fun1( alpha(d %>% select(SA1, SA2, SA3 )), "SA")
aUse <- fun1( alpha(d %>% select( Use1, Use2, Use3, Use4, Use5 )), "Use")
All_alpha <- rbind(aPU, aPEU, aENJ, aQU, aVis, aIm, aSA, aUse )
All_alpha$value <- round(All_alpha$value, 2)
All_alpha
write.csv(All_alpha, file = "All_alpha.csv")