Преобразовать данные о данных в вектор (строками)
Вопрос
У меня есть данные о данных с цифровыми записями, такими как этот
test <- data.frame(x = c(26, 21, 20), y = c(34, 29, 28))
Как я могу получить следующий вектор?
> 26, 34, 21, 29, 20, 28
Я смог получить его, используя следующее, но я думаю, что должен быть гораздо более элегантный способ
X <- test[1, ]
for (i in 2:dim(test)[ 1 ]){
X <- cbind(X, test[i, ])
}
Решение
Можешь попробовать as.vector(t(test))
. Анкет Обратите внимание, что, если вы хотите сделать это по столбцам, вы должны использовать unlist(test)
.
Другие советы
c(df$x, df$y)
# returns: 26 21 20 34 29 28
Если конкретный порядок важен, то:
M = as.matrix(df)
c(m[1,], c[2,], c[3,])
# returns 26 34 21 29 20 28
Или в более общем плане:
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
Вы можете попробовать это, чтобы получить свою комбинацию:
as.numeric(rbind(test$x, test$y))
который вернется:
26, 34, 21, 29, 20, 28
Не связан с StackOverflow