如何在 R 中按行將資料框值轉換成向量?


資料可以以任何形式提供給我們,但有可能是它不是用於分析的合適形式。有時資料記錄在資料框中,但我們可能需要把它作為向量。在這種情況下,我們必須將資料框中的值更改為向量。可以透過將資料框用 t 轉置後,按照 .vector 的形式讀取資料框值來實現這一點。

示例

考慮下面的資料框 -

> x1<-rep(c(1,2,3,4,5),times=4)
> x2<-1:20
> x3<-rep(c(5,10,15,20),each=5)
> df<-data.frame(x1,x2,x3)
> df
  x1  x2 x3
 1 1  1  5
 2 2  2  5
 3 3  3  5
 4 4  4  5
 5 5  5  5
 6 1  6 10
 7 2  7 10
 8 3  8 10
 9 4  9 10
10 5 10 10
11 1 11 15
12 2 12 15
13 3 13 15
14 4 14 15
15 5 15 15
16 1 16 20
17 2 17 20
18 3 18 20
19 4 19 20
20 5 20 20
> as.vector(t(df))
[1] 1 1 5 2 2 5 3 3 5 4 4 5 5 5 5 1 6 10 2 7 10 3 8 10 4 9 10 5 10 10 1 11 15 2 12 15 3 13 15 4 14 15 5 15 15 1 16 20 2 17 20 3 18 20
[55] 4 19 20 5 20 20
> Vector_df<-as.vector(t(df))
> sum(Vector_df)
[1] 520
> mean(Vector_df)
[1] 8.666667

我們來看看另一個示例 -

> y1<-20:1
> y2<-rep(c(2,4,6,8,10),times=4)
> y3<-c(22,25,27,21,18,19,28,24,29,15,27,24,16,18,28,17,18,26,23,22)
> df_y<-data.frame(y1,y2,y3)
> df_y
   y1 y2 y3
 1 20  2 22
 2 19  4 25
 3 18  6 27
 4 17  8 21
 5 16 10 18
 6 15  2 19
 7 14  4 28
 8 13  6 24
 9 12  8 29
10 11 10 15
11 10  2 27
12  9  4 24
13  8  6 16
14  7  8 18
15  6 10 28
16  5  2 17
17  4  4 18
18  3  6 26
19  2  8 23
20  1 10 22
> Vector_new<-as.vector(t(df_y))
> Vector_new
[1] 20 2 22 19 4 25 18 6 27 17 8 21 16 10 18 15 2 19 14 4 28 13 6 24 12 8 29 11 10 15 10 2 27 9 4 24 8 6 16 7 8 18 6 10 28 5 2 17 4 4 18 3 6 26
[55] 2 8 23 1 10 22

更新於: 12-Aug-2020

534 次瀏覽

為你的職業加油

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.