Al mejorar un método rbind
, me gustaría extraer los nombres de los objetos que se le pasaron para poder generar ID únicos a partir de ellos.Obteniendo nombres de ... (puntos)
he tratado all.names(match.call())
pero eso me da:
[1] "rbind" "deparse.level" "..1" "..2"
ejemplo genérico:
rbind.test <- function(...) {
dots <- list(...)
all.names(match.call())
}
t1 <- t2 <- ""
class(t1) <- class(t2) <- "test"
> rbind(t1,t2)
[1] "rbind" "deparse.level" "..1" "..2"
Considerando lo que me gustaría ser capaz de recuperar c("t1","t2")
.
Soy consciente de que, en general, no se pueden recuperar los nombres de objetos pasados a funciones, pero parece que con ... podría ser posible, ya que substitute(...)
devuelve t1
en el ejemplo anterior.
posible duplicado de [Cómo utilizar la función de puntos suspensivos de R al escribir su propia función?] (Http://stackoverflow.com/questions/3057341/how-to-use-rs-ellipsis-feature-when-writing-your -own-function) –
Hay algunas buenas respuestas en la otra pregunta. Incidentalmente, el término para esos puntos es "puntos suspensivos" (lo que hace que sea mucho más fácil para Google). –
@DavidRobinson: ninguna de esas respuestas se aplica porque 'rbind' y' cbind' utilizan el envío de métodos no estándar. La respuesta a esta pregunta se encuentra en los comentarios de una de las respuestas a la pregunta a la que se vinculó. –