在r中连接变量的行情

时间:2014-11-15 21:49:00

标签: r

我是r的新手,我无法弄清楚如何在函数中为变量添加引号,以便我可以在数据框中选择列。基本思路如下。问题是将引号连接到varialbe。任何提示将不胜感激。

function(col)
     {y<-data[,"col"]
      y
}

2 个答案:

答案 0 :(得分:1)

我认为你正在寻找deparse

dat <- data.frame(x = 1:5, y = letters[1:5])

foo <- function(data, col) {
    data[, deparse(substitute(col))]
}

foo(dat, x)
# [1] 1 2 3 4 5
foo(dat, y)
# [1] a b c d e
# Levels: a b c d e

答案 1 :(得分:0)

非常简单的示例代码:

test = data.frame(some_name = c(1, 2, 3))

your_func <- function(col) {
   y <- test[col]
   return(y)
}
your_func("some_name")
这是什么意思?想要添加引号似乎有点奇怪,我想你只是无法提取data.frame的元素。如果您真的想将引号连接到变量,您可能需要查看paste()