我正在尝试从一系列字符串中提取感兴趣的区域变量。我试图提取多个不同的感兴趣区域,并将它们全部放入一个变量"ROI“中。但是,当我这样做时,我得到了一个无法导出的损坏的数据帧。是否有一个字符串函数可以处理提取多个"or“语句?
谢谢你,如果我能提供更多信息,请告诉我。
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"))))发布于 2021-11-10 16:19:30
可能有点晚了,但我对stringr package中的str_count函数也有同样的问题。str_extract属于同一个包。正如Akrun所指出的,自然语言处理有不同的R包。
从this post借用多个模式可以与OR符号--> |组合使用。一种解决方案是:
newVar <- str_extract(DF$var, 'pattern1 | pattern2 | pattern3')在您的例子中,麻烦是因为使用了属于stringi包的regex() function。只有不区分大小写的搜索和其他复杂的搜索才需要regex()。
如果不了解更多关于数据和需要实现的内容,就很难有所帮助。
https://stackoverflow.com/questions/64849015
复制相似问题