如何将矩阵的字符列转换为 R 中的数字?
如果我们有一个包含字符列的矩阵,并且我们想将单列转换为数字,那么我们首先需要使用 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 V51 1 2 9 8 82 8 5 5 9 63 6 5 5 2 64 4 2 4 8 55 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 V41 14 18 20 72 10 8 9 133 5 7 10 94 10 9 12 125 13 15 9 56 5 6 8 97 12 5 13 108 9 17 4 179 8 8 17 710 8 11 8 1711 16 9 6 1412 10 15 11 1213 6 9 8 314 13 10 14 1315 17 11 9 916 13 11 12 817 13 10 12 1218 8 12 10 819 11 5 10 820 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 V51 1 5 3 5 62 4 5 8 10 103 6 3 5 2 44 7 5 3 4 55 5 4 5 8 36 4 5 8 3 8 7 3 5 0 4 58 11 10 1 8 29 4 4 5 3 510 8 7 3 3 711 5 6 5 6 312 8 12 6 4 413 5 6 5 9 514 9 7 3 5 215 6 4 7 6 416 6 4 4 4 717 4 3 3 4 518 2 4 3 2 219 3 4 3 6 420 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" ...