如何将列名作为参数传递给函数?

ron*_*zen -1 r dplyr

这是一个玩具示例:

df <- data.frame(user=c('a','b'), rating=c(1,2), age=c(17,33))

rating <- function(df, var){x <- df %>% summarise(sum(var))}

rating(df,age)
Run Code Online (Sandbox Code Playgroud)

当我执行该函数时,我收到以下错误:

summarise_impl(.data,dots)出错:找不到对象'age'

如何将列名作为参数传递给函数?

udd*_*903 5

library(tidyverse)

df <- data.frame(user=c('a','b'), 
                 rating=c(1,2), 
                 age=c(17,33))

rating <- function(df, var){
  var <- enquo(var)
  df %>% summarise(sum(!!var))
  }

x <- rating(df,age)
Run Code Online (Sandbox Code Playgroud)