Re: [問題] data.frame依欄位順序轉成樹狀lists

作者: andrew43 (討厭有好心推文後刪文者)   2017-11-17 15:29:58
不用刻輪子喔。這裡簡單地把你的例子用 package data.tree 解析。
library(data.tree)
library(data.table)
library(magrittr)
dt <- fread('A B C D
a1 b1 NA NA
a2 b2 cx1 NA
a2 b2 cx1 dxx
a2 b2 cx2 NA
a3 b3 cx3 dx1
a3 b3 cx3 dx2
a4 b4 cx4 dx3')
# append a column to describe terminals
dt[, pathString := paste("theRoot", A, B, C, D, sep = "/")]
# convert data frame to a tree
dt.tree <- as.Node(dt)
dt.tree
# levelName
# 1 theRoot
# 2 |
作者: cywhale (cywhale)   2017-11-17 22:28:00
原來keepOnly是這樣用法!太感謝了!
作者: andrew43 (討厭有好心推文後刪文者)   2017-11-17 19:14:00
改了一下看看是不是符合需求?現在還有留下 ...$terminalName,但乾淨很多了,你再改
作者: cywhale (cywhale)   2017-11-17 16:44:00
非常感謝,tree結構稍微修改pathString 可以拿掉NA ok~但list它多了一層把names of node都留下來我想看看怎麼改..

Links booklink

Contact Us: admin [ a t ] ucptt.com