Найти значение в кадре данных на основе значения в другом кадре данных - PullRequest
0 голосов
/ 22 февраля 2019

Я к кадру данных, скажем, A и B.

Таблица A построена так:

ID a  b  c  d
1  NA NA NA NA 
2  NA NA NA NA
3  NA NA NA NA
4  NA NA NA NA 

А таблица B построена так:

A B
a 1
a 2
a 3
b 2
b 6
b 8
b 9
c 1
c 6
c 11
d 5
d 4

В основном я хотел бы сделать так, чтобы изменение идентификатора NA в 1 (в таблице A), если в таблице B 1 (столбец B) связано с (столбец A).

Я не уверен, что это лучший способ сделать это, возможно, использование матрицы может быть проще.

1 Ответ

0 голосов
/ 23 февраля 2019

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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...