如何在 R 中将矩阵的字符列转换为数字?
r programmingserver side programmingprogramming
如果我们有一个包含字符列的矩阵,并且我们想要将单个列转换为数字,那么我们首先需要使用 as.data.frame 函数将矩阵转换为数据框,然后可以使用 as.numeric 函数将特定列更改为数字类型,如以下示例所示。
示例 1
以下代码片段创建一个矩阵 −
M1<-matrix(factor(rpois(25,5)),ncol=5) M1
创建以下矩阵 −
[,1][,2][,3][,4][,5] [1,] "1" "2" "9" "8" "8" [2,] "8" "5" "5" "9" "6" [3,] "6" "5" "5" "2" "6" [4,] "4" "2" "4" "8" "5" [5,] "2" "5" "6" "5" "10"
将以下代码添加到上面的代码片段中 −
M1<-matrix(factor(rpois(25,5)),ncol=5) M1<-as.data.frame(M1) M1[,1]<-as.numeric(M1[,1]) M1
如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −
V1 V2 V3 V4 V5 1 1 2 9 8 8 2 8 5 5 9 6 3 6 5 5 2 6 4 4 2 4 8 5 5 2 5 6 5 10
要在 R 中将矩阵的字符列转换为数字,请将以下代码添加到上面的代码片段中 −
M1<-matrix(factor(rpois(25,5)),ncol=5) M1<-as.data.frame(M1) M1[,1]<-as.numeric(M1[,1]) str(M1)
输出
如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −
'data.frame': 5 obs. of 5 variables: $ V1: num 1 8 6 4 2 $ V2: chr "2" "5" "5" "2" ... $ V3: chr "9" "5" "5" "4" ... $ V4: chr "8" "9" "2" "8" ... $ V5: chr "8" "6" "6" "5" ...
示例 2
以下代码片段创建一个矩阵 −
M2<-matrix(factor(rpois(80,10)),ncol=4) M2
创建以下矩阵 −
[,1] [,2] [,3] [,4] [1,] "14" "18" "20" "7" [2,] "10" "8" "9" "13" [3,] "5" "7" "10" "9" [4,] "10" "9" "12" "12" [5,] "13" "15" "9" "5" [6,] "5" "6" "8" "9" [7,] "12" "5" "13" "10" [8,] "9" "17" "4" "17" [9,] "8" "8" "17" "7" [10,] "8" "11" "8" "17" [11,] "16" "9" "6" "14" [12,] "10" "15" "11" "12" [13,] "6" "9" "8" "3" [14,] "13" "10" "14" "13" [15,] "17" "11" "9" "9" [16,] "13" "11" "12" "8" [17,] "13" "10" "12" "12" [18,] "8" "12" "10" "8" [19,] "11" "5" "10" "8" [20,] "12" "8" "8" "9"
将以下代码添加到上面的代码片段中 −
M2<-matrix(factor(rpois(80,10)),ncol=4) M2<-as.data.frame(M2) M2[,4]<-as.numeric(M2[,4]) M2
如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −
V1 V2 V3 V4 1 14 18 20 7 2 10 8 9 13 3 5 7 10 9 4 10 9 12 12 5 13 15 9 5 6 5 6 8 9 7 12 5 13 10 8 9 17 4 17 9 8 8 17 7 10 8 11 8 17 11 16 9 6 14 12 10 15 11 12 13 6 9 8 3 14 13 10 14 13 15 17 11 9 9 16 13 11 12 8 17 13 10 12 12 18 8 12 10 8 19 11 5 10 8 20 12 8 8 9
要在 R 中将矩阵的字符列转换为数字,请将以下代码添加到上面的代码片段中 −
M2<-matrix(factor(rpois(80,10)),ncol=4) M2<-as.data.frame(M2) M2[,4]<-as.numeric(M2[,4]) str(M2)
输出
如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −
'data.frame': 20 obs. of 4 variables: $ V1: chr "14" "10" "5" "10" ... $ V2: chr "18" "8" "7" "9" ... $ V3: chr "20" "9" "10" "12" ... $ V4: num 7 13 9 12 5 9 10 17 7 17 ...
示例 3
以下代码片段创建一个矩阵 −
M3<-matrix(factor(rpois(100,5)),ncol=5) M3
创建以下矩阵 −
[,1] [,2] [,3] [,4] [,5] [1,] "1" "5" "3" "5" "6" [2,] "4" "5" "8" "10" "10" [3,] "6" "3" "5" "2" "4" [4,] "7" "5" "3" "4" "5" [5,] "5" "4" "5" "8" "3" [6,] "4" "5" "8" "3" "8" [7,] "3" "5" "0" "4" "5" [8,] "11" "10" "1" "8" "2" [9,] "4" "4" "5" "3" "5" [10,] "8" "7" "3" "3" "7" [11,] "5" "6" "5" "6" "3" [12,] "8" "12" "6" "4" "4" [13,] "5" "6" "5" "9" "5" [14,] "9" "7" "3" "5" "2" [15,] "6" "4" "7" "6" "4" [16,] "6" "4" "4" "4" "7" [17,] "4" "3" "3" "4" "5" [18,] "2" "4" "3" "2" "2" [19,] "3" "4" "3" "6" "4" [20,] "6" "8" "6" "6" "6"
将以下代码添加到上面的代码片段中 −
M3<-matrix(factor(rpois(100,5)),ncol=5) M3<-as.data.frame(M3) M3[,1]<-as.numeric(M3[,1]) M3
如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −
V1 V2 V3 V4 V5 1 1 5 3 5 6 2 4 5 8 10 10 3 6 3 5 2 4 4 7 5 3 4 5 5 5 4 5 8 3 6 4 5 8 3 8 7 3 5 0 4 5 8 11 10 1 8 2 9 4 4 5 3 5 10 8 7 3 3 7 11 5 6 5 6 3 12 8 12 6 4 4 13 5 6 5 9 5 14 9 7 3 5 2 15 6 4 7 6 4 16 6 4 4 4 7 17 4 3 3 4 5 18 2 4 3 2 2 19 3 4 3 6 4 20 6 8 6 6 6
要在 R 中将矩阵的字符列转换为数字,请将以下代码添加到上面的代码片段中 −
M3<-matrix(factor(rpois(100,5)),ncol=5) M3<-as.data.frame(M3) M3[,1]<-as.numeric(M3[,1]) str(M3)
输出
如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −
'data.frame': 20 obs. of 5 variables: $ V1: num 1 4 6 7 5 4 3 11 4 8 ... $ V2: chr "5" "5" "3" "5" ... $ V3: chr "3" "8" "5" "3" ... $ V4: chr "5" "10" "2" "4" ... $ V5: chr "6" "10" "4" "5" ...