2016-12-11 9 views
0

私は、ツリーをプロットしたいと思う多数の小さな約30 * 3(質問の終わりに1つ)のデータフレームを持っています。これは私が以前尋ねた質問に関連しています。メモリ問題描画データ/ダイアグラム

http://stackoverflow.com/questions/38347999/plot-a-decision-tree-with-r 

これは私のMacでクラッシュせずにプロットしません。代わりにアクセス権のあるクラスタにプロットしようとすると、必要なXML表示を開くことができません。 1文字のラベルにsubstrを使用すると、プロットされますが、それはまったく情報がありません。これをダイアグラムで直接行うことも同じ問題です。 すべての言語ソリューションが最も高く評価されます、私は最後にまともなグラフがほしいです。

`dat<-structure(list(from = c(1L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 
4L, 4L, 5L, 5L, 5L, 5L, 208L, 205L, 248L, 249L, 85L, 214L, 219L, 
215L, 6L, 6L, 172L, 181L, 172L, 103L), to = structure(c(105L, 
180L, 191L, 202L, 115L, 112L, 158L, 159L, 241L, 121L, 126L, 1L,  
122L, 213L, 78L, 87L, 254L, 254L, 254L, 254L, 254L, 254L, 254L, 
254L, 78L, 6L, 254L, 254L, 254L, 254L), .Label = c("0", "10", 
"100", "101", "102", "103", "104", "105", "106", "107", "108", 
"109", "11", "111", "112", "113", "114", "115", "116", "117", 
"118", "119", "12", "120", "121", "122", "123", "124", "125", 
"126", "127", "128", "129", "13", "130", "131", "132", "133", 
"134", "135", "136", "137", "138", "139", "14", "140", "141", 
"142", "143", "144", "145", "146", "147", "148", "149", "15", 
"151", "152", "153", "154", "155", "156", "158", "159", "16", 

"160"、 "161"、 "162"、 "163"、 "165"、 "166"、 "167"、 "168"、 "169"、 "17"、「170 172」、「177」、「178」、 「179」、「18」、「180」、「181」、「182」、 「188」、「184」、「185」、「186」、「187」、「 」「188」「189」「19」「190」「192」「193」「194」「195」 「196」、 「197」「199」「2」「20」「200」「201」「202」「203」「204」「 」「205」 212 "、" 213 "、 " 214 "、" 215 "、" 216 "、" 217 "、" 216 "、" 221」、 「222」、「223」、「224」、「225」、「226」、「227」、「228」、「229」、「229」、「229」、 "、" 23 "、 " 230 "、" 231 "、" 232 " 「233」、「234」、「235」、「236」、「237」、「238」、 「239」、「24」、「240」、「241」、「242」、「243」、 244" 、 "245"、 "246"、 "247"、 "248"、 "249"、 "25"、 "250"、 "251"、 "252"、 "253"、 "254"、 " 「255」、「256」、「257」、「258」、「259」、「26」、「261」、「262」、「 」「263」「264」「27」「28」 「34」、「35」、「36」、「37」、「38」、「39」、「29」、「30」、「31」、「32」、「33」、「 」、 「44」、「45」、「46」、「47」、「48」、「49」、「5」、「4」、「41」、「42」、「43」、 「54」、「55」、「56」、「57」、「58」、「59」、「6」、「60」、「50」、「51」、「52」、「53」、 61、62、63、 、64、65、66、67、68、69、7、70、71、72 「74」、「75」、「76」、「77」、「78」、「79」、「8」、「80」、「81」、「82」、「83」、「73」、 「92」、「85」、「86」、「89」、「9」、「91」、「92」、「93」、「94」、「95」、 、 "96"、 "97"、 "98"、 "99"、 "終了")、クラス= "因子")、NME = Cの( "カルディ"、 "シアノ"、 "SYNCO"、 "短いです" 「##」########################################################################################################################################### "Syndr"、 "プレマ"、 "月の時間"、 "Conge"、 "Conge"、 "Conge"、 "Conge"、 "Hypog"、 "Vasov"、 "オルソ"、 "Conge"、「ダウン」 "、" Turne "、" Conge "、" Conge "、" Conge "、 " Coarc "))、.Names = c(" from "、" to "、" nme ")、row.names = c(NA 、 -30L)、クラス= "data.frame") ライブラリ(data.tree)

dat$nme<-substr(as.character(dat$nme), 1, 5) 

subTree<-FromDataFrameNetwork(dat) 

SetNodeStyle(subTree , style = "filled,rounded", shape = "box", fontname =    "helvetica", label = function(node) node$nme, tooltip = "name") 

plot(subTree) ` 
+1

はおそらく、私はだろうが、私は、このようなデータフレームの多くはそれを行うには、より効率的な方法を必要としていエクセル –

+0

使用しています。 – cianius

答えて

0

あなたは)ラベル関数のタイプミス(NME代わりの名前を持っています。また、あなたのラベル機能はデフォルトであるので、あなたはそれをすべて放棄することができます。以下の作品:

SetNodeStyle(subTree, style = "filled,rounded", shape = "box", fontname = "helvetica")