Ao fazer um CFA Lavaan
, eu tive que usar a matriz de covariância como entrada, porque estava recebendo alguns erros com os dados originais, como variações negativas.
Eu normalmente teria pontuações fatoriais previstas usando a predict()
função, lavPredict
funciona da mesma forma, mas agora que estou usando a matriz de covariância não é possível fazer isso diretamente.
Existe uma maneira de usar as informações do CFA para calcular as pontuações dos fatores da mesma maneira que Lavaan
faz? Acredito que a predict()
função use o método de regressão para calcular as pontuações dos fatores.
Este é um código de amostra para produzir pontuações de fatores com dados brutos como entrada. Usando este método, recebo um erro em uma das minhas variações:
library(lavaan)
model1 = '
Latent1 =~ X1 + X2
Latent2 =~ X3 + X4 + X5
Latent3 =~ X6 + X7
'
model1.fit = cfa(model1, data=mydata) #fit Lavaan model
predict(model1.fit) #Predict factor scores (method of regression)
Este é o código para produzir pontuações fatoriais com matriz de covariância como entrada. Não há mensagens de erro aqui, mas não consigo produzir pontuações fatoriais, pois não há dados para vinculá-las a:
cov = cor2cov(cor,std) #(using cor2cov function to create covariance matrix out of correlation table (cor) and standard deviations (std))
model2 = '
Latent1 =~ X1+ X2
Latent2 =~ X3 + X4 + X5
Latent3 =~ X6 + X7
'
model2.fit = cfa(model=model2, sample.cov=cov,sample.nobs=102,std.lv=FALSE)
Como proceder a partir daqui para produzir pontuações fatoriais usando os resultados da Lavaan
análise CFA?