我想使用dplyr
enquo
在内部
lapply
lapply(tbl_vars(sprkTbl),
function(col_nme) {
print(col_nme)
quo_col_nme <- enquo(col_nme)
print(quo_col_nme)
sprkTbl %>%
select(!!quo_col_nme) %>%
collect -> dta_res
}) -> l_res
中出错
(function (x, strict = TRUE)
:参数已
:
>> lapply(tbl_vars(sprkTbl),
... function(col_nme) {
... print(col_nme)
...
... quo_col_nme <- enquo(col_nme)
...
...
...
...
...
...
... }) -> l_res
[1] "first_column_in_spark"
(然后是相同的错误)
(函数(x,strict=TRUE)
:参数具有
我想知道为什么
恩quo
tbl_vars
返回一个普通的字符向量,不是吗
col_name
是一根绳子吗?我设想语法的工作方式与中的相同:
mtcars %>% select(!!enquote("am")) %>% head(2)
am
Mazda RX4 1
Mazda RX4 Wag 1
编辑
lapply(names(mtcars),function(x) {
col_enq <- enquo(x)
mtcars %>%
select(!!col_enq) %>%
head(2)
})
产生相同的错误。
老年人
_
-基于语法的作品
lapply(names(mtcars),function(x) {
mtcars %>%
select_(x) %>%
head(2)
})
select_
.