如何在 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
廣告