如何在R語言中將文字向量轉換為矩陣?


有時數值會被讀取為字串,因此使用該向量建立矩陣並不直接。

為了將文字向量轉換為矩陣,我們需要使用scan函式並指定適當的行數或列數,如下例所示。

示例1

考慮以下給定的向量x1:

x1<-"14 25 26 1 4 5 5 4 5 111 255 236 225 225 221 74 5 8 74 85 65 24 12 36 41"

現在,要將x1轉換為矩陣,請使用以下程式碼:

x1<-"14 25 26 1 4 5 5 4 5 111 255 236 225 225 221 74 5 8 74 85 65 24 12 36 41"
x1_matrix<-matrix(scan(text=x1),nrow=5,byrow=TRUE)
x1_matrix

輸出

如果您將以上所有程式碼作為單個程式執行,它將生成以下輸出:

     [,1][,2][,3][,4][,5]
[1,] 14   25  26   1   4
[2,]  5    5   4   5 111
[3,] 255 236 225 225 221
[4,] 74    5   8  74  85
[5,] 65   24  12  36  41
Read 25 items

示例2

考慮以下給定的向量x2:

x2<-"54 5 4 3 6 7 8 6 5 4 3 2 1 3 4 5 6 7 8 9 0 9 9 3 4 5 6 6 7 7 3 2 1 2 3 4 55 6 7 8"

現在,要將x2轉換為矩陣,請使用以下程式碼:

x2<-"54 5 4 3 6 7 8 6 5 4 3 2 1 3 4 5 6 7 8 9 0 9 9 3 4 5 6 6 7 7 3 2 1 2 3 4 55 6 7 8"
x2_matrix<-matrix(scan(text=x2),nrow=20,byrow=TRUE)
x2_matrix

輸出

如果您將以上所有程式碼作為單個程式執行,它將生成以下輸出:

     [,1][,2]
[1,]  54  5
[2,]   4  3
[3,]   6  7
[4,]   8  6
[5,]   5  4
[6,]   3  2
[7,]   1  3
[8,]   4  5
[9,]   6  7
[10,]  8  9
[11,]  0  9
[12,]  9  3
[13,]  4  5
[14,]  6  6
[15,]  7  7
[16,]  3  2
[17,]  1  2
[18,]  3  4
[19,] 55  6
[20,]  7  8
Read 40 items

示例3

考慮以下給定的向量x3:

x3<-"8 9 8 7 9 4 3 2 2 3 4 5 5 5 6 7 7 8 8 9 9 3 3 2 2 3 1 5 6 9 7 4 2 3 5 8 6 9 5 4 1 2 3 2 5 6 4 7 5 6 8 5 2 1 2 3 5 4 7 5"

現在,要將x3轉換為矩陣,請使用以下程式碼:

x3<-"8 9 8 7 9 4 3 2 2 3 4 5 5 5 6 7 7 8 8 9 9 3 3 2 2 3 1 5 6 9 7 4 2 3 5 8 6 9 5 4 1 2 3 2 5 6 4 7 5 6 8 5 2 1 2 3 5 4 7 5"
x3_matrix<-matrix(scan(text=x3),nrow=20,byrow=TRUE)
x3_matrix

輸出

如果您將以上所有程式碼作為單個程式執行,它將生成以下輸出:

    [,1][,2][,3]
[1,]  8  9  8
[2,]  7  9  4
[3,]  3  2  2
[4,]  3  4  5
[5,]  5  5  6
[6,]  7  7  8
[7,]  8  9  9
[8,]  3  3  2
[9,]  2  3  1
[10,] 5  6  9
[11,] 7  4  2
[12,] 3  5  8
[13,] 6  9  5
[14,] 4  1  2
[15,] 3  2  5
[16,] 6  4  7
[17,] 5  6  8
[18,] 5  2  1
[19,] 2  3  5
[20,] 4  7  5
Read 60 items

更新於:2021年11月12日

674 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

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