У меня есть два тибля:
a <- tibble(month=c("Jan", "Feb", "Jan", "Feb"),
x=c(1,1,2,2))
b <- tibble(x=c(1,2,1,2),
y=c("a", "b", "c", "d"),
z=c("m", "n", "m", "n"))
, к которым я хочу присоединиться.Однако меня не интересует дополнительная информация, предоставляемая переменной y
;Я знаю, что для любого значения в x
, есть только одно значение в z
.Итак, желаемый результат:
# A tibble: 4 x 3
month x z
<chr> <dbl> <chr>
1 Jan 1 m
2 Feb 1 m
3 Jan 2 n
4 Feb 2 n
Но при использовании left_join все значения "double":
> left_join(a, b, by="x")
# A tibble: 8 x 4
month x y z
<chr> <dbl> <chr> <chr>
1 Jan 1 a m
2 Jan 1 c m
3 Feb 1 a m
4 Feb 1 c m
5 Jan 2 b n
6 Jan 2 d n
7 Feb 2 b n
8 Feb 2 d n
, что, конечно, понятно, но - в моем случае - нежелательно.Я попытался свернуть таблицу, используя group_by(month) %>% summarise(z=z)
, но это не работает, потому что суммирование не может иметь дело с факторами.Каким было бы решение?