|
- ---
- title: "Types de datasets et types de données"
- author: "Antoine Neuraz"
- date: "10/30/2019"
- output:
- bookdown::html_document2:
- code_folding: hide
- ---
-
- # Types de datasets et types de données
-
- ```{r, include = FALSE}
- library(ggplot2)
- library(ggraph)
- library(vizoR)
- library(tidygraph)
- library(igraph)
- library(patchwork)
- ```
-
-
- ## Types de datasets
-
- ### Données tabulaires
-
- ```{r}
-
-
- make_tabular_data <- function(x_size, y_size, highlight) {
-
- dt <- data.frame(x = rep(1:x_size, y_size),
- y = unlist(lapply(1:y_size, function(x) rep(x, x_size))),
- group = rep(1, x_size*y_size))
-
- dt$group[highlight] <- 2
-
- dt
-
- }
-
- ggplot(data = make_tabular_data(5,3,8),
- mapping = aes(x = x, y = y, fill = as.factor(group))) +
- geom_tile(color = 'white', size = 2) +
- annotate("segment", x=0.2,xend=5,y=3.8,yend=3.8,arrow=arrow(type="closed",length= unit(.4,"cm"))) +
- annotate("segment", x=0.2,xend=0.2,y=3.8,yend=1,arrow=arrow(type="closed",length= unit(.4,"cm"))) +
- annotate("text", x=3, y=0, label = "Cellule contenant une valeur",hjust=0.5) +
- annotate("segment", x=3,xend=3,y=0.2,yend=1.5,arrow=arrow(type="closed", length= unit(.4,"cm"))) +
- scale_fill_manual(values = list("lightgrey", "darkred"))+
- scale_x_continuous(position = "top")+
- xlab('Attributs (colonnes)') +
- ylab('Items (lignes)') +
- theme_elegant() +
- theme(legend.position = 'none',
- axis.text=element_blank(),
- axis.line =element_blank())
-
- ```
-
- ### Réseaux
-
- ```{r}
-
-
- nodes <- data.frame(id = glue::glue("node{1:11}"),
- #label = c("node1","node2","node3"),
- node_type= rep(1,11))
-
- edges <- data.frame(from = c("node1","node1","node1","node1","node1", "node5", "node5", "node5", "node6", "node9","node9"),
- to = c("node2","node3", "node4", "node5","node6", "node7", "node8", "node9", "node9", "node10", "node11"),
- type = rep("normal",11) ,
- weight = rep(1,11))
-
- net <- graph_from_data_frame(d=edges, vertices = nodes, directed = FALSE)
-
- ggraph(net) +
- geom_edge_link(end_cap = circle(0, 'mm'),
- start_cap = circle(0, 'mm'), edge_width = 1) +
- geom_node_point(color = 'darkred', fill ="darkred", size = 10, shape = 21) +
- expand_limits(y=c(-1.5,1.5), x = c(-1.5,1.5)) +
- annotate("curve", x=1.2,xend=1.3,y=-.6,yend=-.3,curvature=.2, arrow=arrow(type="closed",length= unit(.4,"cm"))) +
- annotate("text", x=1.2, y=-.6, label = "Noeud (Node)",hjust=0.5, vjust=1) +
- annotate("curve", x=.4,xend=.5,y=1,yend=.5,curvature=-0.2, arrow=arrow(type="closed",length= unit(.4,"cm"))) +
- annotate("text", x=.4, y=1, label = "Lien (Edge)",hjust=0.5, vjust=-.7) +
- theme_void_complete()
-
- ```
-
- ### TODO: Champs
-
- ```{r}
-
- make_grid_data <- function(size) {
- data.frame(x = c(rep(1,size), 1:size),
- xend = c(rep(size,size), 1:size),
- y = c(1:size, rep(1,size)),
- yend = c(1:size, rep(size,size)))
- }
-
- size = 8
-
- p1 <- ggplot(make_grid_data(size)) +
- geom_segment(aes(x=x, xend=xend, y=y, yend=yend)) +
- geom_rect(xmin = 2, xmax=3, ymin=6, ymax=7, fill="darkred") +
- annotate("text", x=4.5,y = 10, label= "Grille de positions", size =6)+
- xlim(c(1,size*2-1))+
- ylim(c(-5,size+2))+
- coord_polar(start = -pi/2) +
- theme_void_complete() +
- theme(plot.margin=unit(c(0,0,0,0),"lines"),
- panel.spacing=unit(0,"lines"),
- axis.ticks.margin=unit(0,"cm"))
-
-
- p2<- ggplot(data = make_tabular_data(5,1,3),
- mapping = aes(x = x, y = y, fill = as.factor(group))) +
- geom_tile(color = 'white', size = 2) +
- annotate("segment", x=.7,xend=5.5,y=1.6,yend=1.6,arrow=arrow(type="closed",length= unit(.4,"cm"))) +
- #annotate("segment", x=0.2,xend=0.2,y=3.8,yend=1,arrow=arrow(type="closed",length= unit(.4,"cm"))) +
- annotate("text", x=3, y=0, label = "Valeur dans une cellule",hjust=0.5, vjust=1) +
- annotate("text", x=3, y=1.6, label = "Attributs (colonnes)",hjust=0.5, vjust=-1) +
- annotate("segment", x=3,xend=3,y=0,yend=0.5,arrow=arrow(type="closed", length= unit(.4,"cm"))) +
- scale_fill_manual(values = list("lightgrey", "darkred"))+
- scale_x_continuous(position = "top")+
- ylim(-1, 2) +
- theme_void_complete()
-
-
- (plot_spacer() | p1 | plot_spacer()) / (plot_spacer() | p2 | plot_spacer())
-
- ```
-
-
- ### TODO: Spacial
-
- ## Types de données
-
- ### TODO
|