我已经使用dplyr(here,here和here)在NSE上阅读了一些stackoverflow问题,但是我仍在努力将其应用于我的使用。
这是我的例子
这项工作
yo <- tibble(ah = 1:10, meh = 11:20)
yup <- yo %>% select(ABX = meh)
但是我想完成这项工作:
i=1
newnames <- c("ABX", "TDX")
yup <- yo %>% select(newnames[i] = meh)
几件事,我尝试都没有成功:
yup <- yo %>% select_(newnames[i] = "meh")
yup <- yo %>% select(!!rlang::sym(newnames[i]) = meh)
yup <- yo %>% select(as.name(newnames[i]) = meh)
有帮助吗?预先感谢。
答案 0 :(得分:2)
yup <- yo %>% select(!!newnames[i] := meh)
> yup
# A tibble: 10 x 1
ABX
<int>
1 11
2 12
3 13
4 14
5 15
6 16
7 17
8 18
9 19
10 20
不知道您是否读过programming with dplyr vignette,但我发现它对增进我对tidyverse中NSE的理解很有帮助。