80

このような数値エントリを持つデータフレームがあります

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, ])
   } 
4

3 に答える 3

156

あなたは試すことができas.vector(t(test))ます。列ごとに実行する場合は、を使用する必要があることに注意してくださいunlist(test)

于 2010-03-30T13:31:28.850 に答える
10
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
于 2010-03-30T12:57:00.200 に答える
1

あなたはあなたの組み合わせを得るためにこれを試すことができます:

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

これが返されます:

26, 34, 21, 29, 20, 28
于 2019-07-02T21:57:33.803 に答える