小伙伴们大家好!今天给大家分享一个运用R语言进行字符串匹配的小技巧。
你是不是也处理过字符串类型的文本数据呢?比如填空题、问答题的答案等。当你想匹配其中部分字段的时候,有什么快速解决的方法吗?

今天介绍的R包叫做“stringr”,就是专门处理字符串character数据的。
install.packages("stringr")library(stringr)
比如,在一份关于心理健康的问卷中,我们想知道哪些同学的回答中,提到了“睡眠”这个词。
这里需要使用的功能是:str_detect,“Detect the presence or absence of a pattern in a string”。
str_detect(string, pattern, negate = FALSE)包含三个参数,一般只用设置前两个,第一个是字符串数据,第二个是想要匹配(搜索)的内容。
设置变量a是问卷的问答题结果。变量b是想要匹配的“睡眠”。
a <- "我觉得心理健康应该包含情绪的稳定和好的睡眠状态。"b <- "睡眠"str_detect(a,b)

str_detect返回的是True/False,如果回答中含有“睡眠”这个词,就是True;否则为False。
是不是很方便!我们运用这个功能,就能非常迅速地筛选出多少人提到了我们想要的答案。
#从数据dat中只提取提到“睡眠”两个字的每行答案。dat <- dat[str_detect(dat$答案,'睡眠')==TRUE,]nrow(dat) #提到睡眠答案的人数
这就是今天想要跟大家分享的stringr::str_detect小技巧,方便又实用!有空感兴趣可以尝试下。觉得有用的话,别忘了右下角点个“在看”哦!欢迎分享给更多小伙伴,每天进步一点点,我们一起加油!

