使用DataFrame列名作为R函数参数 fun

使用DataFrame列名作为R函数参数 fun,r,function,dataframe,arguments,R,Function,Dataframe,Arguments,要做到这一点,您需要使用tidyevaluation。首先,您需要enquo()var,然后使用引用var: fun <- function(dataframe, var){ print(data$var) } dataset <- data.frame(a = 1:6, b = 12:17, c = 3:8) fun(dataset, a) 库(dplyr) fun Pass在带引号的字符串中“a”和函数使用括号中:数据[[var]]fun这里还有另一个问题:函数参数

要做到这一点,您需要使用tidyevaluation。首先,您需要
enquo()
var
,然后使用
引用
var

fun <- function(dataframe, var){
    print(data$var)
}

dataset <- data.frame(a = 1:6, b = 12:17, c = 3:8)

fun(dataset, a)
库(dplyr)

fun Pass在带引号的字符串中
“a”
和函数使用括号中:
数据[[var]]
fun这里还有另一个问题:函数参数名为
dataframe
,但在主体中引用了
数据。
library(dplyr)

fun <- function(dataframe, var){
  var <- enquo(var)
  select(dataframe, !!var)
}

dataset <- data.frame(a = 1:6, b = 12:17, c = 3:8)

fun(dataset, a)