Los comentarios adjuntos a la respuesta de @ baptiste dejar claro que x
y y
no son objetos de tipo "expression"
(uno de los nueve tipos de vectores básicos utilizados por R). Por lo tanto, no se pueden combinar mediante el uso de c()
, ya que podrían ser si fueran de hecho expression
vectores.
Si realmente desea combinar objetos de la clase "{"
(que se llaman "idioma de los objetos compuestos" en this section de la Definición R Idioma) se podría hacer algo como esto:
x <- substitute({a;b;c})
y <- substitute({d;e;f})
class(x)
# [1] "{"
as.call(c(as.symbol("{"), c(as.list(x)[-1], as.list(y)[-1])))
{
a
b
c
d
e
f
}
Entonces, si se va a hacer esto con frecuencia, puede crear una función que combina un conjunto arbitrario de objetos de la clase "{"
:
myC <- function(...) {
ll <- list(...)
ll <- lapply(ll, function(X) as.list(X)[-1])
ll <- do.call("c", ll)
as.call(c(as.symbol("{"), ll))
}
# Try it out
myC(x, y, y, y, x)
Sí. .................. –
Creo que no tienes suerte aquí Mike. –