【问题标题】:Converting parent-child relations into a tree with attributes将父子关系转化为具有属性的树
【发布时间】:2017-09-01 14:58:07
【问题描述】:

这可能是基本的,但我不知道如何使用 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)

我需要使用这些数据创建一棵树,以便节点包含以下信息:FolderName、Value1 和 Value2。使用 data.tree 中的函数 FromDataFrameNetwork 我可以做到这一点。

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

但是,我不知道如何将其他信息添加到树中。你有什么建议吗?不幸的是,该文档没有很好地解释这一点。

【问题讨论】:

    标签: r tree parent-child


    【解决方案1】:

    显然,您只需在要包含的列中添加一个向量。

    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
    

    【讨论】:

    • 您的文件夹名称是一个因素。创建data.frame时使用stringsAsFactors = false,你的代码就可以工作了。
    • 谢谢,完全忘记了。我现在应该已经学会了:)
    猜你喜欢
    • 2011-02-24
    • 1970-01-01
    • 2012-06-01
    • 2015-08-15
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    相关资源
    最近更新 更多