# # # Calculation of maximal reliability basd on a # 1-factor Linear Common Factor Model # This data set is taken from: # # "Estimation of Maximal Reliability: A Note on A # Covariance Structure Modeling Approach", Tenko Raykov, # 2004, 57, 21-27. # # The example data set used gives an optimal reliability of .94 Tenko.cov<-matrix(c(2.08, 0.00, 0.00, 0.00, 0.0, 2.08, 5.72, 0.00, 0.00, 0.0, 2.35, 5.01, 7.81, 0.00, 0.0, 2.99, 6.13, 7.29, 11.36, 0.0, 4.01, 8.09, 9.61, 11.98, 18.4), ncol=5, byrow=T) Tenko.cov library(sem) model.f1<-matrix(c('F1->y1', 'lam11' ,NA, 'F1->y2' , 'lam21' ,NA, 'F1->y3' , 'lam31' ,NA, 'F1->y4' , 'lam41' ,NA, 'F1->y5' , 'lam51' ,NA, 'y1<->y1', 'th11' ,NA, 'y2<->y2', 'th21' ,NA, 'y3<->y3', 'th31' ,NA, 'y4<->y4', 'th41' ,NA, 'y5<->y5', 'th51' ,NA, 'F1<->F1', NA , 1), ncol=3, byrow=T) # Examine the model structure model.f1 # Names for Items obs.vars.f1<-c('y1','y2','y3','y4','y5') # Estimate Model sem.f1<-sem(model.f1, Tenko.cov, 400, obs.vars.f1) summary(sem.f1) # Extract information about results names(sem.f1) # Look at coefficients only sem.f1$coeff # First 5 values are loadings; Second 5 values are uniqueness loadings<-sem.f1$coeff[1:5] loadings uniqueness<-sem.f1$coeff[6:10] uniqueness # Calculate Omega Coefficient PartA<-(sum(loadings))^2 PartB<-sum(uniqueness) omega<-PartA/(PartA+PartB) omega # Optimal Scores based on loadings: # If we had the raw data then we could calculate the # optimal observed scores by: # >optimal.weights<-PartA/PartB # >optimal.scores<-Tenko.data%*%optimal.weights # # This consists of post multiplying a (nXp) data matrix by # a (pX1) weight matrix to give a set of (n) optimally reliable scores. # # |y11 y12 y13 y14 y15 ||w1| # | ||w2| # | ||w3| # | ............. ||w4| # | ||w5| # | ............. | # |y ............. y | # n1 np # # #################### Results # # # > loadings<-sem.f1$coeff[1:5] # > loadings # lam11 lam21 lam31 lam41 lam51 # 0.9992218 2.0467003 2.4212836 3.0079903 3.9737116 # > # > uniqueness<-sem.f1$coeff[6:10] # > uniqueness # th11 th21 th31 th41 th51 # 1.081556 1.531026 1.947393 2.312018 2.609661 # > # > # Calculate Omega Coefficient # > # > PartA<-(sum(loadings))^2 # > PartB<-sum(uniqueness) # > omega<-PartA/(PartA+PartB) # > omega # [1] 0.9423457 # >