如何在 R 資料框中檢查字元列是否只包含字母?


要檢查 R 資料框中的字元列是否只包含字母,我們可以按照以下步驟操作:

  • 首先,建立一個包含字元列的資料框。
  • 然後,使用 grepl 函式檢查該列中的所有值是否只包含字母。

示例 1

讓我們建立一個如下所示的資料框:

 線上演示

x<-sample(c("India","UK","USA","Japan","China2"),20,replace=TRUE)
df1<-data.frame(x)
df1

執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出會在您的系統上有所不同):

   x
1 India
2 USA
3 China2
4 USA
5 Japan
6 UK
7 China2
8 Japan
9 USA
10 Japan
11 Japan
12 Japan
13 Japan
14 India
15 Japan
16 UK
17 India
18 UK
19 India
20 USA

檢查資料框列是否只包含字母

使用 grepl 函式檢查列 x 中的值是否只包含字母:

 線上演示

x<-sample(c("India","UK","USA","Japan","China2"),20,replace=TRUE)
df1<-data.frame(x)
grepl("^[A-Za-z]+$",df1$x)

輸出

[1] TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE
[13] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

示例 2

讓我們建立一個如下所示的資料框:

 線上演示

y<-sample(c("1","23","14","11","1F","3"),20,replace=TRUE)
df2<-data.frame(y)
df2

執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出會在您的系統上有所不同):

   y
1  11
2  1F
3  1
4  11
5  23
6  1F
7  11
8  23
9  14
10 14
11 1F
12 14
13 1F
14 11
15 1
16 23
17 1F
18 1
19 3
20 23

檢查資料框列是否只包含字母

使用 grepl 函式檢查列 y 中的值是否只包含字母:

 線上演示

y<-sample(c("1","23","14","11","1F","3"),20,replace=TRUE)
df2<-data.frame(y)
grepl("^[A-Za-z]+$",df2$y)

輸出

[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

更新於: 2021-08-13

808 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.