programing

데이터 프레임을 벡터로 변환 (행별)

nasanasas 2020. 11. 27. 08:12
반응형

데이터 프레임을 벡터로 변환 (행별)


이와 같은 숫자 항목이있는 데이터 프레임이 있습니다.

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

참고 URL : https://stackoverflow.com/questions/2545228/convert-a-dataframe-to-a-vector-by-rows

반응형