浏览代码

Add left_join with extra rows in y

pull/5/merge
父节点
当前提交
4206e8f229
共有 4 个文件被更改,包括 82 次插入0 次删除
  1. +46
    -0
      R/left_join_extra.R
  2. +13
    -0
      README.Rmd
  3. +23
    -0
      README.md
  4. 二进制
      images/left-join-extra.gif

+ 46
- 0
R/left_join_extra.R 查看文件

@@ -0,0 +1,46 @@
source(here::here("R/00_base.R"))

y_extra <- bind_rows(y, data_frame(id = 2, y = "y5"))

# I manually linked objects together, it was late and this was easier...
anim_df <- tibble::tribble(
~.y, ~label, ~value, ~.x, ~.id, ~color, ~frame, ~obj,
-1L, "id", "1", 1, "x", "#E41A1C", 1, 1,
-2L, "id", "2", 1, "x", "#377EB8", 1, 2,
-2L, "id", "2", 1, "x", "#377EB8", 1, 3,
-3L, "id", "3", 1, "x", "#4DAF4A", 1, 4,
-1L, "x", "x1", 2, "x", "#d0d0d0", 1, 5,
-2L, "x", "x2", 2, "x", "#d0d0d0", 1, 6,
-3L, "x", "x3", 2, "x", "#d0d0d0", 1, 8,
-2L, "x", "x2", 2, "x", "#d0d0d0", 1, 7,
-1L, "id", "1", 4, "y", "#E41A1C", 1, 9,
-2L, "id", "2", 4, "y", "#377EB8", 1, 10,
-3L, "id", "4", 4, "y", "#984EA3", 1, 99,
-4L, "id", "2", 4, "y", "#377EB8", 1, 11,
-1L, "y", "y1", 5, "y", "#d0d0d0", 1, 12,
-2L, "y", "y2", 5, "y", "#d0d0d0", 1, 13,
-3L, "y", "y4", 5, "y", "#d0d0d0", 1, 98,
-4L, "y", "y5", 5, "y", "#d0d0d0", 1, 14,
-1L, "id", "1", 2, "x", "#E41A1C", 2, 1,
-2L, "id", "2", 2, "x", "#377EB8", 2, 2,
-3L, "id", "2", 2, "x", "#377EB8", 2, 3,
-4L, "id", "3", 2, "x", "#4DAF4A", 2, 4,
-1L, "x", "x1", 3, "x", "#d0d0d0", 2, 5,
-2L, "x", "x2", 3, "x", "#d0d0d0", 2, 6,
-3L, "x", "x2", 3, "x", "#d0d0d0", 2, 7,
-4L, "x", "x3", 3, "x", "#d0d0d0", 2, 8,
-1L, "y", "y1", 4, "x", "#d0d0d0", 2, 12,
-2L, "y", "y2", 4, "x", "#d0d0d0", 2, 13,
-3L, "y", "y5", 4, "x", "#d0d0d0", 2, 14,
-1L, "id", "1", 2, "y", "#E41A1C", 2, 9,
-2L, "id", "2", 2, "y", "#377EB8", 2, 10,
-3L, "id", "2", 2, "y", "#377EB8", 2, 11
)

lj_extra <- anim_df %>%
arrange(obj, frame) %>%
plot_data("left_join(x, y)") %>%
animate_plot()

lj_extra <- animate(lj_extra)
anim_save(here::here("images", "left-join-extra.gif"), lj_extra)

+ 13
- 0
README.Rmd 查看文件

@@ -80,6 +80,19 @@ source("R/left_join.R")
left_join(x, y, by = "id")
```

### Left Join (Extra Rows in y)

```{r left-join-extra}
source("R/left_join_extra.R")
```

![](images/left-join-extra.gif)

```{r echo=TRUE}
y_extra # has multiple rows with the key from `x`
left_join(x, y_extra, by = "id")
```

### Right Join

```{r right-join}

+ 23
- 0
README.md 查看文件

@@ -68,6 +68,29 @@ left_join(x, y, by = "id")
#> 3 3 x3 <NA>
```

### Left Join (Extra Rows in y)

![](images/left-join-extra.gif)

``` r
y_extra # has multiple rows with the key from `x`
#> # A tibble: 4 x 2
#> id y
#> <dbl> <chr>
#> 1 1 y1
#> 2 2 y2
#> 3 4 y4
#> 4 2 y5
left_join(x, y_extra, by = "id")
#> # A tibble: 4 x 3
#> id x y
#> <dbl> <chr> <chr>
#> 1 1 x1 y1
#> 2 2 x2 y2
#> 3 2 x2 y5
#> 4 3 x3 <NA>
```

### Right Join

![](images/right-join.gif)

二进制
images/left-join-extra.gif 查看文件

之前 之后
宽度: 480  |  高度: 480  |  大小: 946KB

正在加载...
取消
保存