Lorsque j'effectue un EFA à partir du paquet psych, je peux générer de très beaux graphiques de cheminement avec des corrélations et des chargements, par exemple :
en utilisant le fa.diagram
avec le code suivant :
library(psych)
covariances <- ability.cov$cov
correlations <- cov2cor(covariances)
fa.promax <- fa(correlations, nfactors=2, rotate="promax", fm="pa")
fa.diagram(fa.promax, simple=FALSE)
J'ai tendance à utiliser l'AFC plus que l'AFE et j'aimerais pouvoir tracer le modèle avec les corrélations de la même manière. J'utilise le paquet SEM. J'ai essayé le pathDiagram
mais elle ne produit que le code que je peux ensuite coller dans GVedit à partir de Graphviz. Je fais cela et les corrélations et les corrélations entre les facteurs ne sont pas là. De plus, je n'aime pas couper et coller dans un autre programme (bien que le fichier d'aide de sem pour pathDiagram dise : " Pour obtenir directement la sortie graphique, le programme dot doit se trouver sur le chemin de recherche du système. "Je ne sais pas exactement ce qu'il faut mettre dans le chemin pour que cela se produise et si cela aura même les corrélations de toute façon ).
J'aimerais pouvoir faire un diagramme de chemin similaire à ce que fa.diagram de psych fait pour EFA. J'aimerais pouvoir le faire en R et non en copier-coller. Je ne me soucie pas du paquet que vous utilisez pour faire cela, mais je pense que la plupart des gens sont d'accord pour dire que plus c'est simple, mieux c'est, et si cela peut être fait dans R, cela donnera une grande liberté dans le choix du dispositif graphique.
Voici un exemple de code pour un modèle CFA avec lequel travailler :
dat3 <- read.table(url("http://dl.dropbox.com/u/61803503/Proj_2b.dat"),
header=T, strip.white = T, as.is=FALSE,
na.strings= c("999", "NA", " "))
NHSDA.cov <- cov(dat3)
ete.mod <- specifyModel()
F1 -> item3, lam1, NA
F1 -> item5, lam2, NA
F1 -> item9, lam3, NA
F1 -> item10, lam4, NA
F2 -> item4, lam5, NA
F2 -> item13, lam6, NA
F2 -> item14, lam7, NA
F2 -> item15, lam8, NA
F3 -> item1, lam9, NA
F3 -> item6, lam10, NA
F3 -> item7, lam11, NA
F3 -> item11, lam12, NA
F3 -> item12, lam13, NA
F4 -> item2, lam14, NA
F4 -> item8, lam15, NA
F4 -> item16, lam16, NA
F4 -> item17, lam17, NA
item1 <-> item1, e1, NA
item2 <-> item2, e2, NA
item3 <-> item3, e3, NA
item4 <-> item4, e4, NA
item5 <-> item5, e5, NA
item6 <-> item6, e6, NA
item7 <-> item7, e7, NA
item8 <-> item8, e8, NA
item9 <-> item9, e9, NA
item10 <-> item10, e10, NA
item11 <-> item11, e11, NA
item12 <-> item12, e12, NA
item13 <-> item13, e13, NA
item14 <-> item14, e14, NA
item15 <-> item15, e15, NA
item16 <-> item16, e16, NA
item17 <-> item17, e17, NA
F1 <-> F1, NA, 1
F2 <-> F2, NA, 1
F3 <-> F3, NA, 1
F4 <-> F4, NA, 1
F2 <-> F1, rF1F2 #1
F3 <-> F1, rF1F3 #2
F4 <-> F1, rF1F4 #3
F3 <-> F2, rF2F3 #4
F4 <-> F2, rF2F4 #5
F4 <-> F3, rF3F4 #6
ete.sem <- sem(ete.mod, NHSDA.cov, nrow(dat3))
(ete.SUM <- summary(ete.sem))
pathDiagram(ete.sem) #the attempt thus far
Exécution de R 2.14.2 sur Win 7