Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

103 lines
2.0KB

  1. source(here::here("R/00_base_set.R"))
  2. # ---- setdiff(x, y) ----
  3. # Dim elements unique to y
  4. setd_step2 <- initial_set_dfs %>%
  5. mutate(
  6. frame = 2,
  7. alpha = case_when(
  8. .y == -1 ~ 0.55,
  9. .id == "y" ~ 0.15,
  10. TRUE ~ 1
  11. )
  12. )
  13. # Merge, dim overlapping elements
  14. setd_step3 <- initial_set_dfs %>%
  15. filter(!(.id == "y" & .y == -2)) %>%
  16. mutate(
  17. frame = 3,
  18. alpha = ifelse(.y == -1, 0.25, 1),
  19. .x = ifelse(.id == "y", .x - 3, .x),
  20. .x = .x + 1.5
  21. )
  22. # Result of setdiff
  23. setd_step4 <- setdiff(x, y) %>%
  24. proc_data_set("xy") %>%
  25. mutate(frame = 4, .x = .x + 1.5)
  26. setd <- bind_rows(
  27. initial_set_dfs,
  28. setd_step2,
  29. setd_step3,
  30. setd_step4
  31. ) %>%
  32. mutate(alpha = ifelse(is.na(alpha), 1, alpha)) %>%
  33. arrange(frame, desc(.y), desc(.id)) %>%
  34. plot_data_set(., "setdiff(x, y)") %>%
  35. animate_plot()
  36. setd <- animate(setd)
  37. anim_save(here::here("images", "setdiff.gif"), setd)
  38. setd_g <- setdiff(x, y) %>%
  39. proc_data_set() %>%
  40. mutate(.x = .x + 1.5) %>%
  41. plot_data_set("setdiff(x, y)")
  42. save_static_plot(setd_g, "setdiff")
  43. # ---- setdiff(y, x) ----
  44. # Dim elements unique to x
  45. setd2_step2 <- initial_set_dfs %>%
  46. mutate(
  47. frame = 2,
  48. alpha = case_when(
  49. .y == -1 ~ 0.55,
  50. .id == "x" ~ 0.15,
  51. TRUE ~ 1
  52. )
  53. )
  54. # Merge, dim overlapping elements
  55. setd2_step3 <- initial_set_dfs %>%
  56. filter(!(.id == "x" & .y <= -2)) %>%
  57. mutate(
  58. frame = 3,
  59. alpha = ifelse(.y == -1, 0.25, 1),
  60. .x = ifelse(.id == "y", .x - 3, .x),
  61. .x = .x + 1.5
  62. )
  63. # Result of setdiff
  64. setd2_step4 <- setdiff(y, x) %>%
  65. proc_data_set("xy") %>%
  66. mutate(frame = 4, .x = .x + 1.5)
  67. setd2 <- bind_rows(
  68. initial_set_dfs,
  69. setd2_step2,
  70. setd2_step3,
  71. setd2_step4
  72. ) %>%
  73. mutate(alpha = ifelse(is.na(alpha), 1, alpha)) %>%
  74. arrange(frame, desc(.y), .id) %>%
  75. plot_data_set(., "setdiff(y, x)") %>%
  76. animate_plot()
  77. setd2 <- animate(setd2)
  78. anim_save(here::here("images", "setdiff-rev.gif"), setd2)
  79. setd2_g <- setdiff(x, y) %>%
  80. proc_data_set() %>%
  81. mutate(.x = .x + 1.5) %>%
  82. plot_data_set("setdiff(y, x)")
  83. save_static_plot(setd2_g, "setdiff-rev")