#install.packages("data.tree")
library(data.tree)
courseMC <- Node$new("Медкибернетика")
baseMC <- courseMC$AddChild("Раздел 1")
lecture1 <- baseMC$AddChild("Лекции: 1")
seminar1 <- baseMC$AddChild("Семинары: 1-7")
SA <- courseMC$AddChild("Раздел 2")
lecture2 <- SA$AddChild("Лекции: 2-3")
seminar2 <- SA$AddChild("Семинары: 8-10")
MIAD <- courseMC$AddChild("Раздел 3")
lecture3 <- MIAD$AddChild("Лекции 4-5")
seminar3 <- MIAD$AddChild("Семинары 11-14")
zachet <- MIAD$AddChild("Зачет")
test <- zachet$AddChild("Тест")
task <- zachet$AddChild("Задачи")
spich <- zachet$AddChild("Беседа")
print(courseMC)
## levelName
## 1 Медкибернетика
## 2 ¦--Раздел 1
## 3 ¦ ¦--Лекции: 1
## 4 ¦ °--Семинары: 1-7
## 5 ¦--Раздел 2
## 6 ¦ ¦--Лекции: 2-3
## 7 ¦ °--Семинары: 8-10
## 8 °--Раздел 3
## 9 ¦--Лекции 4-5
## 10 ¦--Семинары 11-14
## 11 °--Зачет
## 12 ¦--Тест
## 13 ¦--Задачи
## 14 °--Беседа
######################################################
#install.packages("igraph")
library(igraph)
##
## Attaching package: 'igraph'
## The following objects are masked from 'package:stats':
##
## decompose, spectrum
## The following object is masked from 'package:base':
##
## union
plot(as.igraph(courseMC, directed = TRUE, direction = "climb"))

########################################################
popClone <- Clone(courseMC)
as.data.frame(courseMC)
## levelName
## 1 Медкибернетика
## 2 ¦--Раздел 1
## 3 ¦ ¦--Лекции: 1
## 4 ¦ °--Семинары: 1-7
## 5 ¦--Раздел 2
## 6 ¦ ¦--Лекции: 2-3
## 7 ¦ °--Семинары: 8-10
## 8 °--Раздел 3
## 9 ¦--Лекции 4-5
## 10 ¦--Семинары 11-14
## 11 °--Зачет
## 12 ¦--Тест
## 13 ¦--Задачи
## 14 °--Беседа
ToDataFrameNetwork(courseMC)
## from to
## 1 Медкибернетика Раздел 1
## 2 Медкибернетика Раздел 2
## 3 Медкибернетика Раздел 3
## 4 Раздел 1 Лекции: 1
## 5 Раздел 1 Семинары: 1-7
## 6 Раздел 2 Лекции: 2-3
## 7 Раздел 2 Семинары: 8-10
## 8 Раздел 3 Лекции 4-5
## 9 Раздел 3 Семинары 11-14
## 10 Раздел 3 Зачет
## 11 Зачет Тест
## 12 Зачет Задачи
## 13 Зачет Беседа
#install.packages("DiagrammeR")
library(DiagrammeR)
plot(courseMC)
SetGraphStyle(courseMC, rankdir = "TB")
SetEdgeStyle(courseMC, arrowhead = "vee", color = "grey35", penwidth = 3)
SetNodeStyle(courseMC, style = "filled,rounded", shape = "box", fillcolor = "GreenYellow",
fontname = "helvetica", tooltip = GetDefaultTooltip)
SetNodeStyle(MIAD$"Зачет", fillcolor = "LightBlue", penwidth = "5px")
plot(courseMC)
SetNodeStyle(courseMC$"Раздел 1", inherit = FALSE, fillcolor = "Thistle",
fontcolor = "Firebrick", )
plot(courseMC)
Do(courseMC$leaves, function(node) SetNodeStyle(node, shape = "egg"))
plot(courseMC)
#plot(as.dendrogram(CreateRandomTree(nodes = 7)), center = TRUE)
###########################################################
#install.packages("networkD3")
library(networkD3)
MCNetwork <- ToDataFrameNetwork(courseMC, "name")
simpleNetwork(MCNetwork[-3], fontSize = 12)
useRdf <- read.csv("D:/R/Tree/useR2020.csv", stringsAsFactors = FALSE, sep=";", header = TRUE)
#define the hierarchy (Session/Group/Speaker)
useRdf$pathString <- paste("useR", useRdf$session, useRdf$group, useRdf$speaker, sep="|")
#convert to Node
useRtree <- as.Node(useRdf, pathDelimiter = "|")
#plot with networkD3
useRtreeList <- ToListExplicit(useRtree, unname = TRUE)
radialNetwork( useRtreeList)