Предположим, у меня есть следующий фрейм данных:
df <- data.frame(x = rnorm(10), y = rnorm(10), z = rnorm(10))
И я хотел бы заменить значения в переменных на соответствующий им фрейм данных и имена переменных в следующем списке:
replace_df <- list(x = data.frame(x = 1:10),
y = data.frame(y = 11:20),
z = data.frame(z = 21:30))
Как бы я это сделал, используя dplyr
?
Я чувствую, что моя проблема связана с этим Q & A , но я не смог реализовать ответы на этот вопросправильно в моей ситуации.
Я попытался описать ниже, среди прочего, безуспешно:
library(tidyverse)
variables <- c("x", "y", "z")
df %>%
mutate_at(vars(variables), funs(replace_df[[.]][[.]]))
"тупой" путь будет следующим:
df %>%
mutate(x = replace_df[["x"]][["x"]],
y = replace_df[["y"]][["y"]],
z = replace_df[["z"]][["z"]])