選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

72 行
2.8KB

  1. source(here::here("R/00_base_join.R"))
  2. y_extra <- bind_rows(y, data_frame(id = 2, y = "y5"))
  3. # I manually linked objects together, it was late and this was easier...
  4. anim_df <- tibble::tribble(
  5. ~.y, ~label, ~value, ~.x, ~.id, ~color, ~frame, ~obj,
  6. -1L, "id", "1", 1, "x", "#E41A1C", 1, 1,
  7. -2L, "id", "2", 1, "x", "#377EB8", 1, 2,
  8. -2L, "id", "2", 1, "x", "#377EB8", 1, 3,
  9. -3L, "id", "3", 1, "x", "#4DAF4A", 1, 4,
  10. -1L, "x", "x1", 2, "x", "#d0d0d0", 1, 5,
  11. -2L, "x", "x2", 2, "x", "#d0d0d0", 1, 6,
  12. -3L, "x", "x3", 2, "x", "#d0d0d0", 1, 8,
  13. -2L, "x", "x2", 2, "x", "#d0d0d0", 1, 7,
  14. -1L, "id", "1", 4, "y", "#E41A1C", 1, 9,
  15. -2L, "id", "2", 4, "y", "#377EB8", 1, 10,
  16. -3L, "id", "4", 4, "y", "#984EA3", 1, 99,
  17. -4L, "id", "2", 4, "y", "#377EB8", 1, 11,
  18. -1L, "y", "y1", 5, "y", "#d0d0d0", 1, 12,
  19. -2L, "y", "y2", 5, "y", "#d0d0d0", 1, 13,
  20. -3L, "y", "y4", 5, "y", "#d0d0d0", 1, 98,
  21. -4L, "y", "y5", 5, "y", "#d0d0d0", 1, 14,
  22. -1L, "id", "1", 2, "x", "#E41A1C", 2, 1,
  23. -2L, "id", "2", 2, "x", "#377EB8", 2, 2,
  24. -3L, "id", "2", 2, "x", "#377EB8", 2, 3,
  25. -4L, "id", "3", 2, "x", "#4DAF4A", 2, 4,
  26. -1L, "x", "x1", 3, "x", "#d0d0d0", 2, 5,
  27. -2L, "x", "x2", 3, "x", "#d0d0d0", 2, 6,
  28. -3L, "x", "x2", 3, "x", "#d0d0d0", 2, 7,
  29. -4L, "x", "x3", 3, "x", "#d0d0d0", 2, 8,
  30. -1L, "y", "y1", 4, "x", "#d0d0d0", 2, 12,
  31. -2L, "y", "y2", 4, "x", "#d0d0d0", 2, 13,
  32. -3L, "y", "y5", 4, "x", "#d0d0d0", 2, 14,
  33. -1L, "id", "1", 2, "y", "#E41A1C", 2, 9,
  34. -2L, "id", "2", 2, "y", "#377EB8", 2, 10,
  35. -3L, "id", "2", 2, "y", "#377EB8", 2, 11
  36. )
  37. lj_extra <- anim_df %>%
  38. arrange(obj, frame) %>%
  39. plot_data("left_join(x, y)") %>%
  40. animate_plot()
  41. lj_extra <- animate(lj_extra)
  42. anim_save(here::here("images", "left-join-extra.gif"), lj_extra)
  43. ## Save static images
  44. df_names <- data_frame(
  45. .x = c(1.5, 4.5), .y = 0.25,
  46. value = c("x", "y"),
  47. size = 12,
  48. color = "black"
  49. )
  50. g_input <- proc_data(y_extra) %>%
  51. mutate(.x = .x + 3) %>%
  52. bind_rows(proc_data(x)) %>%
  53. plot_data() +
  54. geom_text(data = df_names, family = "Fira Mono", size = 24) +
  55. annotate("text", label = "↑ duplicate keys in y", x = 4.5, y = -4.75,
  56. family = "Fira Sans", color = "grey45")
  57. save_static_plot(g_input, "left-join-extra-input")
  58. lj_g <- left_join(x, y_extra, by = "id") %>%
  59. proc_data() %>%
  60. mutate(.x = .x + 1) %>%
  61. plot_data_join("left_join(x, y)", ylims = ylim(-4.5, -0.5))
  62. save_static_plot(lj_g, "left-join-extra")