dentro de una función defino un montón de variables escalares como esto:R: crear un vector llamado a partir de variables
a <- 10
b <- a*100
c <- a + b
Al final de la función, que quieren volver a,b,c
en un llamado vector de, con los mismos nombres que las variables, con la codificación mínima, es decir, que no quieren hacer:
c(a = a, b = b, c = c)
¿hay una construcción del lenguaje que hace esto? Por ejemplo, si simplemente hago return(c(a,b,c))
, devuelve un vector sin nombre, que no es lo que quiero. Actualmente tengo una manera de hacer esto hacky:
> cbind(a,b,c)[1,]
a b c
10 1000 1010
¿Existe tal vez un mejor, menos hacky, así?
¿Qué podría ser menos mínimo que c (a = a, b = b, c = c)? Tienes que especificar los nombres y valores en algún lugar. ¿O quieres que se dé cuenta mágicamente de que 'a' se llama 'a'? – Spacedman
Sí, eso es lo que quiero, p. Ej. el 'cbind' de arriba hace eso, y estoy bastante contento con su minimality, pero me pregunté si había una manera más directa. Los nombres de las variables pueden ser largos ... y quiero ahorrar al escribir :) –
que desea guardar al tipear, pero oculta su código (si veo una construcción así, lo saco del código lo antes posible) y pierde bastante rendimiento cuando se trata de vectores grandes y/o muchos. Realmente pensaría de nuevo si no estás encontrando una solución a algo que pueda ser resuelto de una manera diferente. –