deparse(substitute(x))
内の標準的なトリックを使用する関数を使用したいと思いますlapply
。残念ながら、ループバックの引数を取得するだけです。これが私の完全に役に立たない再現可能な例です:
# some test data
a <- 5
b <- 6
li <- list(a1=a,b2=b)
# my test function
tf <- function(obj){
nm <- deparse(substitute(obj))
res <- list(myName=nm)
res
}
tf(a)
#returns
$myName
[1] "a"
これは問題ありません。使用する場合は、無名関数の引数または引数をlapply
取得します。[[1L]]
x
lapply(li,function(x) tf(x))
# returns
$a1
$a1$myName
[1] "x"
$b2
$b2$myName
[1] "x"
以下を取得する方法はありますか?
$a1
$a1$myName
[1] "a1"
$b2
$b2$myName
[1] "b1"
もっと一般的なことがあればdeparse(substitute(x))
、lapply
私も知りたいです。
編集:複数の引数を受け入れるため、オブジェクトの名前を使用できる匿名関数を使用するのではなく、オブジェクト自体が機能しないという問題は、tf
関数が1つの引数のみを受け入れるためです。したがって、これはここでは機能しません...