李家翔 2019-02-12
pipieline 的初衷是为了 readable,如果为了写着方便而降低了可读性,那么就是本末倒置了。 style 如下方的这段执行code,我们显然在 join 关系中,发现这是一个先并列的关系。
因此最好的方式是将 x 和 y 写成并列关系,而非从属关系。
# Good
x %>%
select(a, b, w) %>%
left_join(y %>% select(a, b, v), by = c("a", "b"))
# Better
x_join <- x %>%
select(a, b, w)
y_join <- y %>%
filter(!u) %>%
gather(a, v, -b) %>%
select(a, b, v)
left_join(x_join, y_join, by = c("a", "b"))