knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library(ralget) library(tidyverse) library(tidygraph)
graph <- (e("0.1") * v("v1")) + (v("v1") * e("e1.2") * v("v2")) + (v("v1") * e("e1.3") * v("v3")) + (v("v3") * e("3.4")) graph %>% diagram() graph %>% pack("v1-v3") %>% diagram() graph %>% pack("v1-v3") %>% unpack %>% diagram() rm(list = ls()) library(ralget) library(tidyverse) library(tidygraph) devtools::load_all() (e("0.1") * v("v1")) %>% diagram() (v("v01") * e("0.1")) %>% diagram() ((e("0.1") * v("v1")) + (v("v01") * e("0.1"))) %>% diagram() g1 <- ((e("0.1") * v("v1")) + (e("2.3") * v("v3"))) g2 <- ((v("v5") * e("5.6")) + (v("v2") * e("2.3"))) g1 %>% diagram() g2 %>% diagram() (g2 + g1) %>% diagram() shared_edges <- pull(g1, .waiting_edge_left)[pull(g1, .waiting_edge_left) %in% pull(g2,.waiting_edge_right)] new_joins <- map(shared_edges,function(shared_edges){ shared_on_right <- g1 %>% mutate(matched = map_lgl(.waiting_edge_left, ~ .x == shared_edges)) %>% filter(matched == TRUE) %>% select(-.waiting_edge_left, -matched) shared_on_left <- g2 %>% mutate(matched = map_lgl(.waiting_edge_right, ~ .x == shared_edges)) %>% filter(matched == TRUE) %>% select(-.waiting_edge_right, -matched) (shared_on_left * shared_edges * shared_on_right) }) %>% reduce(`+`) g1_new <- g1 %>% mutate(.waiting_edge_left = map_if(pull(g1, .waiting_edge_left), pull(g1, .waiting_edge_left) %in% pull(g2,.waiting_edge_right), ~ NULL)) g2_new <- g2 %>% mutate(.waiting_edge_right = map_if(pull(g2, .waiting_edge_right), pull(g2, .waiting_edge_right) %in% pull(g1,.waiting_edge_left), ~ NULL)) (g1_new + g2_new + new_joins) %>% diagram() filter(g1,pull(g1, .waiting_edge_left) %in% pull(g2,.waiting_edge_right)) graph %>% pull(wait) # Vertices make_lemon_filling <- v(name = "Make lemon filling") separate_egg <- v(name = "Separate egg") make_meringue <- v(name = "Make meringue") fill_crust <- v(name = "Fill crust") add_meringue <- v(name = "Add meringue") # Edges prepared_crust <- e(name = "Prepared crust") lemon <- e(name = "Lemon") butter <- e(name = "Butter") sugar <- e(name = "Sugar") egg <- e(name = "Egg") yolk <- e(name = "Yolk") white <- e(name = "White") lemon_filling <- e(name = "Lemon filling") meringue <- e(name = "Meringue") unbaked_lemon_pie <- e(name = "Unbaked lemon pie") unbaked_pie <- e(name = "Unbaked pie") # Graph graph <- (egg * separate_egg) + (separate_egg * yolk * make_lemon_filling) + (sugar * make_lemon_filling) + (butter * make_lemon_filling) + (sugar * make_lemon_filling) + (lemon * make_lemon_filling) + (separate_egg * white * make_meringue) + (make_lemon_filling * lemon_filling * fill_crust) + (prepared_crust * fill_crust) + (fill_crust * unbaked_lemon_pie * add_meringue) + (make_meringue * meringue * add_meringue) + (add_meringue * unbaked_pie) # Diagram graph %>% diagram()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.