library(installr) # Aktivace knihovny aktualizující R updateR() # Aktualizaci provedu pouze v konzoli (bez RStudia) # EXPLORAČNÍ FA install.packages("readxl") # Instalace knihovny načítající Excel library(readxl) # Aktivace knihovny dat <- as.data.frame(read_excel("FA22.4.24.xlsx",sheet="FA3.kor",range = "S1:AH401")) ?read_excel # Nápověda kvůli podrobnostem v syntaxi (sheet jako označení listu v excelovém sešitu) names(dat) pca <- princomp(dat[,5:16], cor=T) # Metoda hlavních komponent, velmi základní, pro všechny řádky a sloupce 5-16 datového souboru "dat" plot(pca) # Graf rozptylů hlavních komponent summary(pca) loadings(pca) ?loadings print(pca$loadings,cutoff=0) install.packages("GPArotation") # Instalace knihovny pro rotace library(GPArotation) # Aktivace knihovny ??fa.parallel install.packages("psych") library(psych) fa.parallel(dat[,5:16]) pca2 <- principal(dat[,5:16], nfactors=3, rotate="varimax") print(pca2$loadings,cutoff=0) ls() rm(dat) rm(list = ls()) data() # UKÁŽE DATA VE VŠECH DOSTUPNÝCH (AKTIVNÍCH) KNIHOVNÁCH data(package = "psych") # Ukáže data pouze pro knihovnu "psych" bfi bfi.dat <- as.data.frame(bfi) # Načtení dat fa.parallel(bfi.dat[,1:25]) pca5 <- principal(bfi.dat[,1:25], nfactors=5, rotate="varimax") print(pca5$loadings,cutoff=0) pca6 <- principal(bfi.dat[,1:25], nfactors=6, rotate="varimax") print(pca6$loadings,cutoff=0) pca5o <- principal(bfi.dat[,1:25], nfactors=5, rotate="oblimin") print(pca5o$loadings,cutoff=0) print(pca5o$Phi,cutoff=0) # KONFIRMAČNÍ FA install.packages("lavaan") # Knihovna pro konfirmační FA (LAtent VAriable ANalysis) library(lavaan) bfi.model <- ' agree =~ A1 + A2 + A3 + A4 + A5 consc =~ C1 + C2 + C3 + C4 + C5 extra =~ E1 + E2 + E3 + E4 + E5 neuro =~ N1 + N2 + N3 + N4 + N5 opene =~ O1 + O2 + O3 + O4 + O5 ' bfi.model # Kontrola modelu describe(bfi.dat) # Popisné statistiky dat bfi.cfa <- cfa(bfi.model, data=bfi.dat[,1:25]) # Spuštění konfirmační analýzy bfi.cfa # Velmi základní pohled na objekt - výsledek analýzy funkcí "cfa" summary(bfi.cfa, fit.measures = T) # Jeden ze způsobů prohlídky výsledků summary(bfi.cfa, fit.measures = T, standardized = T) # Odkaz na tutorial pro lavaan # https://lavaan.ugent.be/tutorial/index.html modindices(bfi.cfa, sort=T, maximum.number=20) bfi.model2 <- ' agree =~ A1 + A2 + A3 + A4 + A5 consc =~ C1 + C2 + C3 + C4 + C5 extra =~ E1 + E2 + E3 + E4 + E5 + N4 neuro =~ N1 + N2 + N3 + N4 + N5 opene =~ O1 + O2 + O3 + O4 + O5 ' bfi.cfa2 <- cfa(bfi.model2, data=bfi.dat[,1:25]) # Upravený model summary(bfi.cfa2, fit.measures = T, standardized = T) lavTestLRT(bfi.cfa, bfi.cfa2) bfi.model.fix <- ' agree =~ A1 + A2 + A3 + A4 + A5 consc =~ C1 + C2 + C3 + C4 + C5 extra =~ E1 + E2 + E3 + E4 + E5 neuro =~ N1 + N2 + N3 + N4 + N5 opene =~ O1 + O2 + O3 + O4 + O5 agree ~~ 0*extra ' bfi.cfa.fix <- cfa(bfi.model.fix, data=bfi.dat[,1:25]) # Upravený model bez 1 korelace faktorů summary(bfi.cfa.fix, fit.measures = T, standardized = T) lavTestLRT(bfi.cfa.fix, bfi.cfa)