【问题标题】:R: tree with overlapping stringsR:具有重叠字符串的树
【发布时间】:2014-10-06 18:48:49
【问题描述】:

我的数据如下所示:

verkoop          V621  
verkoopcode      V62123  
verkoopcodenaam  V6212355  
verkoopdatum     V621335  
verkoopdatumchar V62133526  
verkooppr        V6216  
verkoopprijs     V62162  
verkoopsafdeling V621213452  
verkoopsartikel  V62126324  

现在,我想在 R 中制作一棵树,如下所示:

 V621   --> V62123  --> V6212355
        --> V621335 --> V62133526
        --> V6216 --> V62162
        --> V621213452
        --> V62126324

或者类似的东西。以便他们考虑重叠子字符串

【问题讨论】:

    标签: r string tree


    【解决方案1】:

    您可以使用igraph 包中的minimum.spanning.tree 函数来创建这样的树。

    # load data
    df <- read.table(text='verkoop          V621  
    verkoopcode      V62123  
    verkoopcodenaam  V6212355  
    verkoopdatum     V621335  
    verkoopdatumchar V62133526  
    verkooppr        V6216  
    verkoopprijs     V62162  
    verkoopsafdeling V621213452  
    verkoopsartikel  V62126324')
    # use igraph package
    require(igraph)
    # create adjacency matrix 
    adj <- nchar(sapply(df$V1, gsub, x=df$V1, replacement=''))
    adj[!sapply(df$V1, grepl, x=df$V1)] <- 0
    # name adjecency matrix 
    colnames(adj) <- df$V2
    # original graph
    gr <- graph.adjacency(adj, mode='directed', weighted=TRUE)
    # minimum spanning tree 
    mst <- minimum.spanning.tree(gr)
    # e.g. for graphical representation
    plot(mst, vertex.size=40)
    

    【讨论】:

      猜你喜欢
      • 2015-03-16
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      相关资源
      最近更新 更多