2017-08-25 44 views
1

這可能是基本的,但我無法找到如何使用data.tree執行此操作。我的數據結構如下:將父子關係轉換爲具有屬性的樹

data <- data.frame(ParentFolderID = c("a", "b", "b", "e"), 
       FolderID = c("b", "d", "e", "f"), 
       FolderName = c("N1", "N2", "N3", "N4"), 
       Values1 = c(1:4), 
       Values2 = c(2,1,4,2), 
       stringsAsFactors = FALSE) 

我需要創建一個樹這個數據,使得該節點所包含的信息:文件夾名稱,值1和值2。使用功能FromDataFrameNetwork from data.tree我可以做到這一點。

FromDataFrameNetwork(test) 
      levelName 
1 a    
2 °--b   
3  ¦--d  
4  °--e  
5   °--f 

但是,我可以不知道如何將其他信息添加到樹中。你有什麼建議嗎?文件不能很好地解釋這一點。

回答

0

您可能只需添加一個包含要包含的列的矢量。

tree <- FromDataFrameNetwork(data, c("FolderName", "Values1", "Values2")) 

> print(tree, "FolderName", "Values2", "Values1") 
     levelName FolderName Values2 Values1 
1 a        NA  NA 
2 °--b     N1  2  1 
3  ¦--d    N2  1  2 
4  °--e    N3  4  3 
5   °--f   N4  2  4 
+0

Your FolderNames是一個因素。創建data.frame時使用stringsAsFactors = false,並且您的代碼將起作用。 –

+0

謝謝,完全忘了那個。我現在應該已經學會了:) –

相關問題