输入列名作为函数中的变量

时间:2020-10-30 07:48:05

标签: r

我正在尝试编写一个可以在多个数据框中使用的函数,该函数接受列名作为输入。目的是确定事件是否发生(如果是最早的),然后将结果编码为二进制0和1。这是到目前为止我要提出的:

event <- function(x){
  analysis$event <- 0
  analysis$event[analysis$earliest == analysis$x] <- 1
}

但是,当我说test <- event(death_date)时,它只会返回值1。出了什么问题,怎么解决?谢谢!

1 个答案:

答案 0 :(得分:0)

$运算符不适用于变量。您可以改用双方括号:

col_name <- "mpg"
mtcars[[col_name]]

# compare:
mtcars$mpg