2017-08-25 14 views
1

Ceci est probablement basique, mais je ne peux pas savoir comment faire cela en utilisant data.tree. Mes données a la structure suivante:Conversion de relations parent-enfant en un arbre avec des attributs

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) 

Je dois créer un arbre avec ces données, telles que les noeuds contiennent les informations: NomDossier, Valeur1 et Valeur2. Utilisation de la fonction FromDataFrameNetwork from data.tree Je peux y arriver.

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

Je ne peux cependant pas comprendre comment ajouter les autres informations à l'arborescence. Avez-vous des suggestions? La documentation ne l'explique pas bien malheureusement.

Répondre

0

Apparemment, vous ajoutez simplement un vecteur avec les colonnes que vous voulez inclure.

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

Votre FolderNames est un facteur. Utilisez stringsAsFactors = false lors de la création de data.frame, et votre code fonctionnera. –

+0

Merci, complètement oublié à ce sujet. J'aurais dû apprendre maintenant :) –