这是一个简单的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()
完全没有错误,即使x
和y
未在工作区中定义,但在数据框df1
上也未定义。