将数据框转换为vector(按行)

我有一个像这样的数字条目的数据框

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

我怎样才能得到以下vector?

 > 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