首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用stringr r (r)提取多个条件

使用stringr r (r)提取多个条件
EN

Stack Overflow用户
提问于 2020-11-16 03:42:07
回答 1查看 112关注 0票数 0

我正在尝试从一系列字符串中提取感兴趣的区域变量。我试图提取多个不同的感兴趣区域,并将它们全部放入一个变量"ROI“中。但是,当我这样做时,我得到了一个无法导出的损坏的数据帧。是否有一个字符串函数可以处理提取多个"or“语句?

谢谢你,如果我能提供更多信息,请告诉我。

代码语言:javascript
复制
V2_MeanConcentration_LongFormat <- Visit2_concentration_df %>% 
  pivot_longer(-c("ID"),  names_to = "Name", values_to = "Values") %>% 
  mutate(Condition = str_extract(Name, regex("ThreatAngryFearful|Happy")),
         Chromophore = str_extract(Name, regex("HbO|HHb", ignore_case = TRUE)),
         Hemisphere = str_extract(Name, regex("Left|Right", ignore_case = TRUE)),
        ROI = str_extract(Name, regex("MPFC|STC|DLPFC|IFC|Parietal", ignore_case = TRUE))%>%  ##This is not working ###
           as.data.frame((c("ID", "Condition", "Chromophore","Hemisphere", "ROI", "Name", "Values"))))
EN

回答 1

Stack Overflow用户

发布于 2021-11-10 16:19:30

可能有点晚了,但我对stringr package中的str_count函数也有同样的问题。str_extract属于同一个包。正如Akrun所指出的,自然语言处理有不同的R包。

this post借用多个模式可以与OR符号--> |组合使用。一种解决方案是:

代码语言:javascript
复制
newVar <- str_extract(DF$var, 'pattern1 | pattern2 | pattern3')

在您的例子中,麻烦是因为使用了属于stringi包的regex() function。只有不区分大小写的搜索和其他复杂的搜索才需要regex()

如果不了解更多关于数据和需要实现的内容,就很难有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64849015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档