我想在变量中指定的列上使用gsub参数对数据框的列进行变异,但我正在努力处理非标准的评估。dplyr NSE - 如何传递列名来改变函数调用?
在这个玩具的例子中,我想在我的gsub调用中使用columns[[1]]
和columns[[2]]
而不是.$name_A
和.$name_B
。我可以,还是需要重新考虑我的方法?
library(tidyverse)
test_df <- tibble(name_A =
c("asdf", "ghjk"),
name_B =
c("qwer", "tyui"))
columns <- c("name_A", "name_B")
test_df %>%
mutate(new_col_A =
gsub(pattern = 'asdf', replacement = 'NEW_VALUE_A', x = .$name_A),
new_col_B =
gsub(pattern = 'tyui', replacement = 'NEW_VALUE_B', x = .$name_B))
你可以用'rlang :: sym'。看一个例子[这里](https://stackoverflow.com/a/45465630/2461552) – aosmith