2

假设我有一个函数接受始终是列表一部分的变量。

myfun <- function(x$name,y$name) { 
 # stuff 
} 

我想做的是使用名称。

alist <- list(Hello=1,Goodbye=2)

myfun(alist$Hello, alist$Goodbye) { 
 # I want to be able to work with the characters "Hello" and "Goodby" in here
}

因此,在我的函数中,我将如何获得字符“Hello”和“Goodbye”。给定alist$Helloalist$Goodbye

4

3 回答 3

9

我记得这样plot.default做是deparse(substitute(

a <- list(a="hello",b=c(1,2,3))
f <- function(x,y) { print(deparse(substitute(x))); print(deparse(substitute(y))) }
f(a$a,a$b)
#[1] "a$a"
#[1] "a$b"
于 2013-03-12T14:22:25.243 回答
6

像这样的东西,也许:

myfun <- function(x) { print(substitute(x))}
myfun(iris$Sepal.Length)
## iris$Sepal.Length
于 2013-03-12T14:22:42.437 回答
3

我将使用列表参数创建函数:

myfun <- function(l) {
    print(names(alist))
}
myfun(alist)
# [1] "Hello"   "Goodbye"
于 2013-03-12T14:24:49.207 回答