¿Depurar (sustituir (x)) en lapply?
Me gustaría usar una función que use el estándardeparse(substitute(x))
truco dentrolapply
. Lamentablemente acabo de recuperar el argumento del bucle. Aquí está mi ejemplo reproducible completamente inútil:
# 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"
lo cual está bien. Si yo usolapply
O bien consigo[[1L]]
o lax
Argumento de una función anónima.
lapply(li,function(x) tf(x))
# returns
$a1
$a1$myName
[1] "x"
$b2
$b2$myName
[1] "x"
¿Hay alguna manera de obtener lo siguiente?
$a1
$a1$myName
[1] "a1"
$b2
$b2$myName
[1] "b1"
Si hay algo más general endeparse(substitute(x))
ylapply
También me gustaría saber.
EDITAR: El problema, a diferencia de usar una función anónima que acepta múltiples argumentos y, por lo tanto, puede usar el nombre del objeto y el objeto en sí no funciona porque, eltf
La función solo aceptará un argumento. Asi queesta no funciona aqui ...