2012-03-11 46 views
3

當我從包迷幻做一個EFA我可以生成具有相關性和負載等類此非常好的路徑圖:CFA不錯的路徑繪製

enter image description here

使用fa.diagram函數用下面的代碼:

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) 

我傾向於使用CFA超過全民教育,並希望能夠繪製與相關模型以同樣的方式。我使用SEM包。我曾嘗試pathDiagram功能,但它只能產生的代碼,然後我就可以粘貼到的graphviz GVedit。我這樣做,因素之間的相關性和相關性不存在。此外,我不喜歡剪切和粘貼到另一個程序(雖然從SEM的幫助文件pathDiagram寫着:;我不」「要獲得顯卡輸出直接,點程序必須是系統搜索路徑。」不知道究竟要在這條路上發生什麼,以及是否會有相關性)

我希望能夠製作一個類似於來自psych的fa.diagram的路徑圖爲全民教育。我希望能夠在R中做到這一點,而不是剪切和粘貼。我不在乎你所使用的這個包是什麼,但我想大多數人都會同意越簡單越好,如果它能夠R內部完成它會給圖形設備的選擇上有很大的自由度。

下面是一些示例代碼,一個CFA模型一起工作:

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 

在Win 7運行v 2.14.2

+0

參見[這個問題](http://stackoverflow.com/q/8585108/707145),我問前一陣子。 – MYaseen208 2012-03-11 02:02:42

+0

@ MYaseen208聽起來好像有些問題。你是否能夠在R內生成圖表?他們是否有相關性?對此的解決方案不一定是'pathDiagram'。 – 2012-03-11 02:07:46

+0

看到我編輯的答案。我相信你也會得到相關性。 – MYaseen208 2012-03-11 02:43:49

回答

5

嘗試這樣的:

pathDiagram(
       model=ete.sem 
      , file="PathDiagram" 
      , max.rank=paste("item", 1:17, sep="") 
      , ignore.double=FALSE 
      , edge.labels="values" 
      , size=c(8, 8) 
      , node.font=c("Helvetica", 10) 
      , edge.font=c("Helvetica", 10) 
      , rank.direction="LR" 
      , digits=3 
      , standardize=TRUE 
      , graphics.fmt="pdf" 
      ) 

這將在您的工作目錄中生成PathDiagram.pdf。反正我不知道R.

enter image description here

+0

@ MYaseen2008這將產生在工作目錄中字(.DOC)文件。沒有pdf(我認爲這與我詢問的關於在我的路徑中有點的問題有關;我不確定要在路徑中放置什麼)。 Word文檔中的代碼確實會生成具有相關性的圖形輸出。謝謝。+ 1當pdf問題解決後,我會將此答案標記爲正確。 – 2012-03-11 04:07:14

+0

pdf問題無法解決,所以我將其標記爲正確。 – 2012-03-23 19:40:20

1

顯示圖形我有同樣的問題。需要安裝應用程序Graphviz,然後從.dot文件創建PDF文件。這也是在R包pathDiagram的幫助文件解釋。