这是一个玩具示例:
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)
当我执行该函数时,出现以下错误:
summarise_impl(.data,dots)中的错误:找不到对象'age'
如何将列名作为参数传递给函数?
答案 0 :(得分: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)