Function 函数,传递数据帧和列名

Function 函数,传递数据帧和列名,function,r,pass-by-reference,Function,R,Pass By Reference,可能重复: 我试图在R中创建一个函数,其中输入之间有dataframe和列名。代码如下所示: DT_CAP_COLUMN <- function(input_table,output_table,column_name, cap_function,Parameter){ input_table$column_name (...) return(1) } 我认为问题在于,input\u table$column\u na

可能重复:

我试图在R中创建一个函数,其中输入之间有dataframe和列名。代码如下所示:

DT_CAP_COLUMN  <- function(input_table,output_table,column_name,
                           cap_function,Parameter){
  input_table$column_name
  (...)
  return(1)
}
我认为问题在于,
input\u table$column\u name
无法识别
input\u table
chorn\u 3
但是
input\u table$column\u name
返回
未找到column\u name


是否可以在不使用传递引用包或传递环境作为变量的情况下执行此操作?

您可以使用方括号索引间接引用data.frame中的列:

样本数据:

 dat <- data.frame(
     a = letters[1:3],
     b = LETTERS[4:6],
     c = 7:9
 )

@凯文:很好。投票结束。只是因为我有同样的问题…没有必要对一个傻瓜投否决票,尤其是对一个新用户。万分感谢。使用列号和列名完全按照我的要求工作。
 dat <- data.frame(
     a = letters[1:3],
     b = LETTERS[4:6],
     c = 7:9
 )
 my.function <- function(data, col){
   data[, col]
 }
>  my.function(dat, "b" )
  b
1 D
2 E
3 F
>  my.function(dat, "c" )
  c
1 7
2 8
3 9