仅获得第一行匹配特定字符串-R

问题描述

我在R中有个小标题。

        tibble [9,760,576 x 2] (S3: tbl_df/tbl/data.frame)

 $ word: chr [1:9760576] "dont know" "years ago" "im sure" "years old" ...
 $ n   : int [1:9760576] 7240 5127 5068 5017 ...

执行以下代码将获取与特定模式匹配的行(以“ year”开头的行)。

我只对与模式匹配的第一行感兴趣,因此我需要在首次出现该模式后停止搜索。欢迎任何建议。

df %>% filter(grepl("^year",word))
# A tibble: 17,117 x 2
   word            n
   <chr>       <int>
 1 years ago    5127
 2 year old     2444
 3 years old    1692
 4 years later  1103
 5 years now     758
 6 year ago      608
 7 year will     409
 8 years since   395
 9 year year     325
10 years ive     303

我的问题是性能,原始数据集有1亿行,并且花费太多时间。

我也尝试使用stringi软件包,但存在相同的问题(找到第一个匹配项后我无法停止搜索)

stri_match_first_regex(df$word,pattern="^year",

预先感谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...