R函数:使用参数从其他参数中提取数据

时间:2014-06-03 06:38:51

标签: r

这是一个简单的R函数:

aa <- function(x, cells, aberrations) {
  return(list(x[[cells]], x[[aberrations]]))
}

因此,例如,如果我使用下面的示例数据运行它,我有

df1 <- data.frame(x = 1:10, y = 11:20)
aa(df1, cells = "x", aberrations = "y")
[[1]]
 [1]  1  2  3  4  5  6  7  8  9 10

[[2]]
 [1] 11 12 13 14 15 16 17 18 19 20

有没有办法,我可以用这样的东西从df1中提取数据?

aa(df1, cells = x, aberrations = y)

即,不使用字符"x",而只使用x。我试过这个,

aa <- function(x, cells, aberrations) {
  a <- as.character(cells); b <- as.character(aberrations)
  return(list(x[[a]], x[[as.character(b)]]))
}

但没效果。

这个想法的灵感来自ggplot函数,我可以在这里做到这一点,

ggplot(df1, aes(x, y)) + geom_point()

完全没有错误,即使xy未在工作区中定义,但在数据框df1上也未定义。

0 个答案:

没有答案