问题描述
我在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 (将#修改为@)