如何在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 次浏览

开启您的职业生涯

通过完成课程获得认证

开始学习
广告