如何在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
广告