2014-10-06 10 views
2

에서 노드를 제외합니다.내가 semPaths {semPLot}와 Mplus에서 OUT 파일 provinent을 사용하여 R.</p> <p>임과 SEM의 경로를 그릴려고 semPaths {semPlot}

분명히 작동하는 것처럼 보이지만 잠재적 인 변수를 제거하고 싶습니다. (이 합리적인 경우 그렇게하고 무시) https://www.dropbox.com/s/vo3oa5fqp7wydlg/questedMOD2.out?dl=0

outfile1 <- "questedMOD.out" 
``` 

semPaths(outfile1,what="est", intercepts=FALSE, rotation=4, edge.color="black", sizeMan=5, esize=TRUE, structural="TRUE", layout="tree2", nCharNodes=0, intStyle="multi") 
+0

데이터 구조를 보여주십시오. 'str (x)'의 출력물을 올리 려하거나 더 잘 만들고, [재생 가능한 예제]를 만드십시오 (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). –

+0

방금 ​​Mplus에서 OUTfile을 업로드했습니다. 조언 주셔서 감사합니다 :) –

+0

Dropbox에서 파일을 제거하면 질문이 쓸모 없게되지 않도록 코드를 답안에 '포함'하십시오. –

답변

3

이 작업을 수행하는 쉬운 방법이있을 수 있습니다 - 한 가지 방법을 : Mplus에서 아웃

:

나는 다음과 같은 구문을 사용하고 있습니다 이것을하기 위해서는 플로팅하기 전에 객체에서 노드를 제거해야합니다. semPaths에 위의 호출에서 귀하의 질문에 Rotate Edges in semPaths/qgraph

library(qgraph) 
library(semPlot) 
library(MplusAutomation) 

# This downloads an output file from Mplus examples 
download.file("http://www.statmodel.com/usersguide/chap5/ex5.8.out", 
             outfile <- tempfile(fileext = ".out")) 

# Unadjusted plot 
s <- semPaths(outfile, intercepts = FALSE) 

enter image description here

에서 Mplus의 예를 사용

, outfile 클래스 character의, 그래서 (semPaths에 대한 코드의 시작 근처) 라인

if (!"semPlotModel" %in% class(object)) 
        object <- do.call(semPlotModel, c(list(object), modelOpts)) 

에서 개체를 반환합니다.. 이것은 클래스 "semPlotModel"입니다.

그래서이 개체를 먼저 만들고 수정 한 다음이 개체를 semPaths에 전달해야합니다.

# Call semPlotModel on your Mplus file 
obj <- semPlot:::semPlotModel.mplus.model(outfile) 
# obj <- do.call(semPlotModel, list(outfile)) # this is more general/not just for Mplus 

# Remove one factor (F1) from [email protected] - need to check lhs and rhs columns 
idx <- apply([email protected][c("lhs", "rhs")], 1, function(i) any(grepl("F1", i))) 
[email protected] <- [email protected][!idx, ] 

class(obj) 

obj 클래스 "semPlotModel"의 지금과 semPaths

s <- semPaths(obj, intercepts = FALSE) 

enter image description here

당신은 이것의 구조는 객체를 돌려 볼 str(s)을 사용할 수 있습니다에 직접 전달 될 수 있습니다.

+0

그건 정확히 내가 필요로하지는 않지만 좋은 단서이며 이제는 나 자신을 할 수 없다고 생각한다. –

+0

당신은 환영합니다. -이 패키지에 대해 알지 못해서 graphviz로 수동으로이 모델들을 플로팅했습니다. - 그래서 저는이 질문에 매우 만족합니다. – user20650

+0

나는 언젠가 "무례한"방법으로이 질문을 풀어 낸다. 그러나 그것은 더 좋다. :) –