Kürzlich stolperte ich uppon ein Problem, wo ich paarweise Unterschiede der Typen Compair müssen:"äußere" Operation mit dplyr/tidyr/purrr?
sometypes <- data.frame(id = rep(1:3, 2),
type = paste0("t", 1:6),
value1 = rnorm(6),
value2 = rnorm(6))
Hier würde Ich mag den Unterschied zwischen Wert1 und Wert2 auf ihre Art Basis zu berechnen. Ich fand heraus, inner_join
zu verwenden:
#library(dplyr)
inner_join(select(sometypes, - value2),
select(sometypes, - value1), by = c("id")) %>%
mutate(difference = value1 - value2)
Da ich das eigentliche Beispiel, das ich vor einer Kette von Befehlen haben und danach Ich mag würde zu einer effizienten Nutzung der %>%
Betreiber machen:
# ... imagine some operators before
sometypes %>%
(function(ds) inner_join(select(ds, - value2),
select(ds, - value1),
by = c("id"))) %>%
mutate(difference = value1 - value2)
# ... imagine many operators afterwards
.. ., und ich würde gerne wissen, ob es übersichtliche Art und Weise ist es zu beschreiben, oder gibt es eine andere consice dieses Problem in dplyr
lösen (vielleicht map2_df
von purrr
verwenden, aber wie?)
ein Grund für einen Downvote? – Drey