首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于正则表达式模式匹配将PDF索引为数据帧列表

基于正则表达式模式匹配将PDF索引为数据帧列表
EN

Stack Overflow用户
提问于 2018-12-23 23:39:51
回答 1查看 60关注 0票数 2

在使用制表器和pdftools从pdf中提取信息时,我有时希望基于正则表达式模式匹配来索引大量的df。

代码语言:javascript
复制
a <- data.frame(yes=c("pension"))
b <- data.frame(no=c("other"))
my_list <- list(a,b)

我想使用str_detect返回与模式“养老金”匹配的底层df的索引。

期望的输出将是:

代码语言:javascript
复制
index <- 1 (based on which and str_detect)
new_list <- my_list[[index]]
new_list
     yes
1 pension

如何检测底层df中的模式,然后使用它返回索引一直是一个难题。我看到之前使用循环和if-then语句的讨论,但使用purrr的解决方案似乎更可取。

EN

Stack Overflow用户

回答已采纳

发布于 2018-12-24 00:07:14

我们可以使用

代码语言:javascript
复制
getIdx <- function(pattern, l)
  l %>% map_lgl(~ any(unlist(map(.x, grepl, pattern = pattern))))

getIdx("pension", my_list)
# [1]  TRUE FALSE

my_list[getIdx("pension", my_list)]
# [[1]]
#       yes
# 1 pension

这允许多个匹配的数据帧。(真的不需要which。)

getIdx中,我们遍历l的数据帧,然后在给定的数据帧中遍历其列并使用grepl。如果在任何列中存在匹配项,则为相应的数据帧返回TRUE

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53904925

复制
相关文章

相似问题

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