2

我正在 R 中进行差异分析,并且在使用 graphviz 显示树时遇到问题。我按照 Studer 等人 2011 年(在:Guillet 等人:知识发现和管理的进展)中的描述做了所有事情。我使用 disstree 命令构建名为 tree.lcp 的树,然后尝试使用 graphviz 显示它:

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

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

第一个命令没有问题,但第二个命令会出现以下错误消息:

找不到命令“点”。
错误消息:
1:命令 'C:\Windows\system32\cmd.exe /c dot -Tsvg -O hh.lcp.dot' 给出状态 1
2:在 shell("dot -Tsvg -O hh.lcp.dot" ) : '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 命令中包含路径?

谢谢!卡塔琳娜

4

2 回答 2

2

最新的 TraMineR 版本具有直接运行所有内容的新功能。该函数称为 seqtreedisplay。

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

尝试运行:TraMineR.checkupdates()以了解您是否拥有最新的稳定版本。

于 2014-04-23T14:33:39.143 回答
2

您可以按如下方式指定路径

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

但是,如果您想根据序列之间的差异绘制一棵树,您可能最好使用更新的简化seqtreedisplay函数,该函数直接从seqtree对象生成图,即seqtree函数的结果。通常,seqtreedisplay应该自行找到 Graphviz。

有关更多详细信息,请通过键入查看帮助页面help(seqtreedisplay)

于 2014-04-23T16:29:37.370 回答