I feel like I’m losing my mind. This should be working, right?
Selecting a variable that is being piped within a dataset. I get the error that Error: object 'cyl' not found
table_fun = function(data, grouping_var){
data %>%
select(grouping_var)%>%
group_by(grouping_var)%>%
summarise(count = n())
}
table_fun(mtcars, cyl)
>Solution :
You can use ensym from rlang
library(rlang)
table_fun <- function(data, grouping_var) {
data %>%
select(!!ensym(grouping_var)) %>%
group_by(!!ensym(grouping_var)) %>%
summarise(count = n())
}
such that table_fun(mtcars, cyl) gives
# A tibble: 3 × 2
cyl count
<dbl> <int>
1 4 11
2 6 7
3 8 14