假设我有一个函数接受始终属于列表的变量。
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$Hello
和alist$Goodbye
答案 0 :(得分: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"
答案 1 :(得分:6)
这样的事情,也许是:
myfun <- function(x) { print(substitute(x))}
myfun(iris$Sepal.Length)
## iris$Sepal.Length
答案 2 :(得分:3)
我用list参数创建函数:
myfun <- function(l) {
print(names(alist))
}
myfun(alist)
# [1] "Hello" "Goodbye"