我是r的新手,我无法弄清楚如何在函数中为变量添加引号,以便我可以在数据框中选择列。基本思路如下。问题是将引号连接到varialbe。任何提示将不胜感激。
function(col)
{y<-data[,"col"]
y
}
答案 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()