【发布时间】:2020-10-18 01:47:42
【问题描述】:
a <- "A"
bquote(tibble::tibble(a = 1:10) %>% dplyr::mutate(`=`(.(as.name(a)), a*2))) %>% eval()
# A tibble: 10 x 2
a `A = a * 2`
<int> <dbl>
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
8 8 16
9 9 18
10 10 20
很明显,列名不对。应该是A。
但如果我这样做:
a <- "A"
bquote(tibble::tibble(a = 1:10) %>% dplyr::mutate(.(as.name(a)) = a*2)) %>% eval()
Error: unexpected '=' in "bquote(tibble::tibble(a = 1:10) %>% dplyr::mutate(.(as.name(a)) ="
【问题讨论】:
-
为什么...? .......
标签: r dplyr tidyverse metaprogramming non-standard-evaluation