如何在 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 包并检查 Countries 中每个元素的所有字符是否都为一种类型,请将以下代码添加到上述代码片段中 -
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
广告