2014-04-23 71 views
2

我在做R中的差異分析,並顯示與graphviz樹的問題。我完成了Studer等2011所描述的一切(Guillet et al:Advances in Knowledge Discovery and Management)。我用的是disstree命令來構建我的樹叫tree.lcp,然後嘗試用graphviz的,以顯示它:顯示R中的差異分析樹(使用graphviz)

seqtree2dot(tree.lcp, filename="hh.lcp", seqdata=seqhh) 

shell("dot -Tsvg -O hh.lcp.dot") 

有與第一命令沒有問題,但第二個帶來了此錯誤消息:

找不到命令「點」。
錯誤消息:
1:命令 'C:\ Windows \ System32下\ cmd.exe的/ C點-Tsvg -O hh.lcp.dot' 給狀態1
2:在外殼(「DOT -Tsvg -O hh.lcp.dot「): ‘點-Tsvg -O hh.lcp.dot’進程失敗 - 錯誤代碼1

我想它是與第零路徑命令(見GraphViz: Windows PATH not set with new installer, issue when calling from R),但我將GraphViz安裝到C:\ Program Files(x86)\ Graphviz2.36,我知道這是默認設置。

任何想法,問題在哪裏?如果問題仍然是路徑命令,我怎麼能在shell命令中包含路徑?

謝謝! Katharina

回答

2

如下

shell(paste('"C:/Program Files (x86)/Graphviz2.36/dot"','-Tsvg -O hh.lcp.dot')) 

但是您可以指定路徑,如果你想從序列之間相異繪製一棵樹,你可能更好地使用新的簡化seqtreedisplay功能直接從生成的情節seqtree對象,即seqtree函數的結果。通常,seqtreedisplay應該自己找到Graphviz。

有關更多詳細信息,請通過輸入help(seqtreedisplay)來查看幫助頁面。

2

最新的TraMineR版本有一個直接運行所有內容的新功能。該功能稱爲seqtreedisplay。

seqtreedisplay(tree.lcp, type="d")

嘗試運行:TraMineR.checkupdates()知道你是否有最新的穩定版本。

+0

@ gilbert @Mattias Studer:seqtreedisplay,或者更準確地說,disstreedisplay命令正是我所需要的。 Graphviz是自動發現的,現在我有樹了。謝謝! Katharina – user3534907

+0

@Katharina請投票並接受其中一個答案(Gilbert的看起來更加精確)。如果你這樣做了,那麼遇到類似問題的未來讀者將會如何解決它。 –