如果字串的格式與 R 資料框中的正常格式不同,如何從該字串中提取數字?
如果字串的格式與 R 資料框中的正常格式不同,要從字串中提取數字,我們可以按照以下步驟操作 −
首先,建立一個數據框。
然後,結合使用 gsub 函式和 as.numeric 函式來提取數字。
示例
建立資料框
讓我們建立一個數據框,如下所示 −
x<- sample(c("grp_12","grp_01","grp_05","grp_03","grp_04","grp_09","grp_10","grp_11","grp_02","grp_06","grp_07","grp_08"),25,replace=TRUE) df<-data.frame(x) df
輸出
執行上述指令碼後,將生成以下輸出(此輸出在您的系統上會因隨機化而有所不同) −
x 1 grp_07 2 grp_06 3 grp_01 4 grp_03 5 grp_04 6 grp_03 7 grp_09 8 grp_07 9 grp_03 10 grp_11 11 grp_09 12 grp_01 13 grp_08 14 grp_03 15 grp_11 16 grp_05 17 grp_11 18 grp_05 19 grp_11 20 grp_05 21 grp_06 22 grp_07 23 grp_02 24 grp_10 25 grp_03
提取數字
結合使用 gsub 函式和 as.numeric 函式來從資料框 df 的 x 列中提取數字 −
x<- sample(c("grp_12","grp_01","grp_05","grp_03","grp_04","grp_09","grp_10","grp_11","grp_02","grp_06","grp_07","grp_08"),25,replace=TRUE) df<-data.frame(x) df$x_numeric<-as.numeric(gsub("^[^_]*_|^*$","",x)) df
輸出
x x_numeric 1 grp_07 7 2 grp_06 6 3 grp_01 1 4 grp_03 3 5 grp_04 4 6 grp_03 3 7 grp_09 9 8 grp_07 7 9 grp_03 3 10 grp_11 11 11 grp_09 9 12 grp_01 1 13 grp_08 8 14 grp_03 3 15 grp_11 11 16 grp_05 5 17 grp_11 11 18 grp_05 5 19 grp_11 11 20 grp_05 5 21 grp_06 6 22 grp_07 7 23 grp_02 2 24 grp_10 10 25 grp_03 3
廣告