如果字串的格式與 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

更新於:2021 年 11 月 11 日

89 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告