如果data <- data.frame(a=c(1,1,2),b=c(2,4,1))
。如果每行的数据框代表fp树的一个分支。如何以图解方式enter image description here进行表示。
答案 0 :(得分:0)
使用data.tree库找到解决方案。花时间寻找解决方案。在解析第一行1,2时,创建一个分支。解析第二行时,在创建分支时,它用于覆盖前一个分支并仅保留分支1,4。通过检查节点是否已经具有给定名称的子节点来克服此问题,如果没有创建新的其他引用现有节点。下面是代码。 `
rootNode <- Node$new("Root")
for(i in 1:nrow(data)){
tmp<-rootNode
for(j in 1:ncol(data)){
if(is.null(Navigate(tmp, c(as.character(data[i,j]))))){
node <- tmp$AddChild(data[i,j])
tmp <- node
}
else{
tmp <- Navigate(tmp, c(as.character(data[i,j])))
}
}
}
plot(rootNode)
`
对其他测试用例进行了测试,并且工作正常。
data <- data.frame(a=c(1,1,2,2),b=c(1,2,4,3),c=c(2,2,2,2),d=c(2,3,3,4))
答案 1 :(得分:0)
执行此操作的标准方法是:
data <- data.frame(a=c(1,1,2,2),b=c(1,2,4,3),c=c(2,2,2,2),d=c(2,3,3,4))
data$pathString <- paste("0", data$a, data$b, data$c, data$d, sep = "/")
tree <- as.Node(data)
请务必阅读文档,例如: https://cran.r-project.org/package=data.tree/vignettes/data.tree.html#create-a-tree-from-a-data.frame