如何检查字符串是否只包含 R 中的一种类型的字符?
如果一个字符串包含多个字符,则所有字符都可以相同或不同。如果我们想检查一个字符串是否只包含一种类型的字符,那么stringi包的stri_count_fixed函数将与nchar函数一起使用。
查看下面给出的示例以了解如何完成。
示例1
以下代码段创建了一个示例数据框-
Countries<-sample(c("India","USA","UK","SSS"),20,replace=TRUE) df1<-data.frame(Countries) df1
创建以下数据框-
Countries 1 USA 2 India 3 India 4 SSS 5 USA 6 USA 7 USA 8 USA 9 India 10 SSS 11 SSS 12 India 13 SSS 14 USA 15 India 16 USA 17 SSS 18 USA 19 SSS 20 USA
要加载stringi包并检查Country的每个元素中的所有字符是否属于一种类型,请将以下代码添加到上面的代码段中-
library(stringi) df1$All_S<-stri_count_fixed(df1$Countries,"S")==nchar(df1$Countries) df1输出结果
如果您将上述所有给定的代码片段作为单个程序执行,它会生成以下输出:-
Countries All_S 1 USA FALSE 2 India FALSE 3 India FALSE 4 SSS TRUE 5 USA FALSE 6 USA FALSE 7 USA FALSE 8 USA FALSE 9 India FALSE 10 SSS TRUE 11 SSS TRUE 12 India FALSE 13 SSS TRUE 14 USA FALSE 15 India FALSE 16 USA FALSE 17 SSS TRUE 18 USA FALSE 19 SSS TRUE 20 USA FALSE
示例2
以下代码段创建了一个示例数据框-
Group<-sample(c("Control","Mixed","Common","XX"),20,replace=TRUE) df2<-data.frame(Group) df2
创建以下数据框-
Group 1 Mixed 2 XX 3 XX 4 Control 5 Mixed 6 Common 7 Common 8 Mixed 9 Mixed 10 XX 11 Mixed 12 Common 13 Common 14 XX 15 Mixed 16 Control 17 Mixed 18 Common 19 Control 20 Control
要检查Group的每个元素中的所有字符是否属于一种类型,请将以下代码添加到上述代码段中-
df2$All_X<-stri_count_fixed(df2$Group,"X")==nchar(df2$Group) df2输出结果
如果您将上述所有给定的代码片段作为单个程序执行,它会生成以下输出:-
Group All_X 1 Mixed FALSE 2 XX TRUE 3 XX TRUE 4 Control FALSE 5 Mixed FALSE 6 Common FALSE 7 Common FALSE 8 Mixed FALSE 9 Mixed FALSE 10 XX TRUE 11 Mixed FALSE 12 Common FALSE 13 Common FALSE 14 XX TRUE 15 Mixed FALSE 16 Control FALSE 17 Mixed FALSE 18 Common FALSE 19 Control FALSE 20 Control FALSE