likert=file.choose() datalikert=read.csv(likert,head=TRUE) save(datalikert,file=“datalikert.rda”) attach(datalikert) is.data.frame(datalikert) head(datalikert) dim(datalikert)
library(psych) ABCDEFtb=data.frame(Atb,Btb,Ctb,Dtb,Etb,Ftb) describe(ABCDEFtb) # Tính Mode biến A1 library(DescTools) Mode(A1) table(A1) ### NHẬN XÉT CÂU 1: Biến có giá trị trung bình cao nhất là Atb = 4.06 # Biến có độ phân tán lớn nhất là biến Btb # Mode của biến A1 là 5 với 94 quan sát
GTINHMH=GTINH GTINHMH=replace(GTINHMH,GTINH==1,“Nam”) GTINHMH=replace(GTINHMH,GTINH==2,“NỮ”) GTcode=data.frame(GTINH,GTINHMH) GTcode # Bảng tần số Giới tính table(GTINHMH) table(GTINHMH)/sum(table(GTINHMH)) ### NHẬN XÉT CÂU 2: Trong tổng thể 198 người; có 121 nam (61,1%) và 77 nữ (38,9%)
DTUOIMH=DTUOI DTUOIMH=replace(DTUOIMH,DTUOI==1,“< 20 tuổi”) DTUOIMH=replace(DTUOIMH,DTUOI==2,“Từ 20 - 30 tuổi”) DTUOIMH=replace(DTUOIMH,DTUOI==3,“Từ 31 - 50 tuổi”) DTUOIMH=replace(DTUOIMH,DTUOI==4,“Trên 50 tuổi”) DTcode=data.frame(DTUOI,DTUOIMH) DTcode # Mã hóa biến Thu nhập TNHAPMH=TNHAP TNHAPMH=replace(TNHAPMH,TNHAP==1,“< 10 triệu”) TNHAPMH=replace(TNHAPMH,TNHAP==2,“Từ 10 - 20 triệu”) TNHAPMH=replace(TNHAPMH,TNHAP==3,“Trên 20 triệu”) TNcode=data.frame(DTUOI,TNHAPMH) TNcode # Xác định nhóm tuổi và thu nhập có số lượng lớn nhất library(gmodels) CrossTable(DTUOIMH,TNHAPMH) table(DTUOIMH,TNHAPMH) table(DTUOIMH,TNHAPMH)/sum(table(DTUOIMH,TNHAPMH)) ### NHẬN XÉT CÂU 3: Nhóm tuổi và nhóm thu nhập có số lượng quan sát lớn nhất # là từ 31 - 50 tuổi với thu nhập từ 10 - 20 triệu; có 37 trường hợp/đối tượng (18,7%)
library(gmodels) CrossTable(GTINHMH,DTUOIMH) ### NHẬN XÉT CÂU 4:Trong tất cả các nhóm tuổi thì giới tính nam đều chiếm tỷ trọng cao hơn
pie(table(GTINHMH),col=c(“green”,“blue”),main=“Biểu đồ tròn của Giới tính”)
DTUOI.freq<-table(DTUOIMH) DTUOI.freq barplot(DTUOI.freq,xlab=“Nhom tuoi”,ylab=“So luong”, main=“Bieu do cot cua cac nhom tuoi”,col=c(“lightgreen”,“lightyellow”,“orange”,“blue”))
hist(Ftb,col=“lightpink”,xlab=“gia tri Ftb”,border=“red”,ylab=“tan so Ftb”,main = “do thi Histogram Ftb”,xlim = c(2,5),ylim=c(0,1)) lines(density(na.omit(Ftb)),col=“red”,lwd=2) #NHAN XET CAU 7 : # Ve hinh dang: Bien Ftb chua co hing dang chuong # Su phan bo cua bien Fbt chua dat phan phoi chuan
boxplot(Ftb,ylab=“Gia tri Ftb”,col=“lightgreen”) boxplot.stats(Ftb) #ket qua cho thay bien Ftb khong co gia tri ngoai nlai, vi $out numeric(0)
#cau 9 plot(Atb,Ftb,xlab=“Gia tri Atb”,ylab=“gia tri Ftb”,col=“lightgreen”,pch=21) abline(lm(Ftb~Atb),col=“lightpink”,lwd=2) # nhan xet: # chieu huong tuong quan thuan, duong hoi quy di len tu trai sang phai # Muc do tuyen tinh: yeu vi cac diem du lieu phan tan rong quanh duong hoi quy
#PHAN3 #CAU 10 library(psych) fa=data.frame(A1,A2,A3,A4,A5) alpha(fa) #nhận xét:giá trị Cronbach’s Alpha =0,93 >0,6 như vậy nhân tố A đảm bảo tin cậy #Hệ số tương quan biến tổng các biến /thang đo đều >0,3 (đạt yêu cầu ) #=> Nên không bất kì loại biến thang đo nào
library(psych) abcde=data.frame(A1,A2,A3,A4,A5,B1,B2,B3,B4,C1,C2,C3,C4,D1,D2,D3,E1,E2,E3,E4) cortest.bartlett(abcde) KMO(abcde) #nhận xét:Giá trị KMO =0,67 đảm bảo yêu cầu phân tích EFE #Giá trị Sig. (P-Value) của Barlett’s = 0,000 < 5% do đó kết quả EFA CÓ THỰC HIỆN
#CÂU 12 fitabcde1<-principal(abcde,cor=TRUE,nfactors =20,rotate=“none”) fitabcde1 fitabcde2<-principal(abcde,cor=TRUE,nfactors =5,rotate=“none”) fitabcde2 fitabcde3<-principal(abcde,nfactors =5,rotate=“varimax”) fitabcde3 # nhận xét # Số nhân tố được trích:5 nhóm nhân tố # Giá trị Eigenvalue = 1.83 > 1(đạt yêu cầu) #Giá trị Tổng phương sai trích = 0.80 = 80% >50%(đạt yêu cầu) #Cấu trúc nhân tố có phù hợp với dữ liệu ban đầu vị các biến/thang đo sắp xếp theo đúng nhóm nhân tố
#CÂU 13 library(psych) vars=cbind(Atb,Btb,Ctb,Dtb,Etb,Ftb) pairs.panels(vars) library(Hmisc) result=rcorr(as.matrix(vars),type=“pearson”) result\(r result\)P # nhận xét:biến ftb có mối tương quan dương với Atb,Btb,Ctb,Dtb,Etb vì hệ số tương quan Pearson của mối quan hệ này > 0 # Mối tương quan giữa Ftb và các biến Atb,Btb,Ctb,Dtb,Etb có ý nghĩa thống kê vì giá trị Sig. (P-Value) của các mối quan hệ này nhỏ hơn 5%
#CÂU 14 mreg=lm(Ftb~Atb+Btb+Ctb) summary(mreg) ### NHẬN XÉT CÂU 14 # Phương trình hồi quy: Ftb = 0.76022 + 0.20139Atb + 0.13162Btb + 0.47633*Ctb + ei # Kết quả hồi quy cho thấy mô hình có ý nghĩa thống kê tổng thể # với giá trị F-statistic bằng 45,47 và mức ý nghĩa (p < 0,001). # Hệ số R2 = 0,4128; cho thấy các biến Atb, Btb và Ctb giải thích khoảng 41,28% sự biến thiên của Ftb # trong khi R2 hiệu chỉnh đạt 0,4038. # Xét riêng từng biến, Atb có tác động cùng chiều đến Ftb với hệ số hồi quy 0,2013 # điều này có nghĩa khi Atb tăng 1 đơn vị thì Ftb tăng 0,2013 đơn vị # và mối quan hệ này có ý nghĩa thống kê ở mức 1% (p = 0,000504). # Btb cũng có tác động cùng chiều và có ý nghĩa thống kê ở mức 1%, với hệ số 0,13162 (p = 0,00839) # Biến Ctb có hệ số hồi quy cao nhất 0,47633 và có ý nghĩa thống kê ở mức 1% (p < 0,001), # cho thấy mối quan hệ cùng chiều rõ rệt với Ftb # Nhìn chung, cả ba biến Atb, Btb và Ctb đều có mối quan hệ cùng chiều # và có ý nghĩa thống kê với Ftb trong mô hình nghiên cứu.
mreg=lm(Ftb~Atb+Btb+Ctb) summary(mreg) library(car) vif(mreg) require(lmtest) dwtest(mreg) ### NHẬN XÉT CÂU 15 # Kiểm định đa cộng tuyến cho thấy các giá trị VIF các biến độc lập đều nhỏ hơn # => Mô hình không có hiện tượng đa cộng tuyến. # Kiểm định tự tương quan cho thấy giá trị DW = 1,7709 nằm trong khoảng chấp nhận (1,5 < DW < 2,5) # => Mô hình không có hiện tượng tự tương quan.
mreg=lm(Ftb~Atb+Btb+Ctb) summary(mreg) op=par(mfrow=c(2,2)) plot(mreg) ### NHẬN XÉT CÂU 16 # - Đồ thị bên trái dòng 1 vẻ phần dư ei và giá trị dự báo của F^tbi, # đồ thị này cho thấy các giá trị phần dư tập trung quanh đường y = 0 # cho nên giả định về giá trị trung bình của ei = 0 là có thể chấp nhận được.