Pregunta

Tengo una trama de datos con entradas numéricas como éste

test <- data.frame(x = c(26, 21, 20), y = c(34, 29, 28))

¿Cómo puedo obtener el siguiente vector?

> 26, 34, 21, 29, 20, 28

Yo era capaz de conseguir que el uso de los siguientes, pero supongo que debe haber una manera mucho más elegante

X <- test[1, ]
for (i in 2:dim(test)[ 1 ]){
   X <- cbind(X, test[i, ])
   } 
¿Fue útil?

Solución

Puede intentar as.vector(t(test)). Tenga en cuenta que, si desea hacerlo por columnas que debe utilizar unlist(test).

Otros consejos

c(df$x, df$y)
# returns: 26 21 20 34 29 28

si el orden en particular es importante, entonces:

M = as.matrix(df)
c(m[1,], c[2,], c[3,])
# returns 26 34 21 29 20 28 

O en términos más generales:

m = as.matrix(df)
q = c()
for (i in seq(1:nrow(m))){
  q = c(q, m[i,])
}

# returns 26 34 21 29 20 28

Puede probar esto para conseguir su combinación:

as.numeric(rbind(test$x, test$y))

que devolverá:

26, 34, 21, 29, 20, 28
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top