如何在 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 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告