I думаю , что вы хотите преобразовать B
в плотную таблицу с 1
, если эта комбинация присутствует в B
.Вы можете сделать это, распознав, что B
- это те же данные, но с value
из пропущенных ячеек.Нам нужно добавить это в, а затем spread
для преобразования из длинного в широкое:
library(tidyverse)
tbl_b <- tibble(
A = c("a", "a", "a", "b", "b", "b", "b", "c", "c", "c", "d", "d"),
B = c(1, 2, 3, 2, 6, 8, 9, 1, 6, 11, 5, 4)
)
tbl_b %>%
mutate(value = 1) %>%
spread(A, value)
#> # A tibble: 9 x 5
#> B a b c d
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 1 NA 1 NA
#> 2 2 1 1 NA NA
#> 3 3 1 NA NA NA
#> 4 4 NA NA NA 1
#> 5 5 NA NA NA 1
#> 6 6 NA 1 1 NA
#> 7 8 NA 1 NA NA
#> 8 9 NA 1 NA NA
#> 9 11 NA NA 1 NA
Создано в 2019-02-22 с помощью пакета Представление (v0.2,1)