【发布时间】:2018-06-20 11:40:54
【问题描述】:
我有一个清单。每个元素都是一堆要处理的文本。将清单视为一本书。每个元素都是一个页面。
该过程的最终输出是一个数据框,其中包含每个列表元素的正则表达式的一些结果。
我想要添加到每一行的元素的数量。注意空元素消失了。我创建了一个虚拟函数来说明(实际过程更复杂)
mylist <- list("some text here 234","","more text here 23 ","adding a bunch of words 98")
getnumber <- function(text) {
str_extract_all(text,pattern = "[0-9]+")
}
lapply(mylist,getnumber) %>% unlist() %>%
data.frame(stringsAsFactors = FALSE)
.
1 234
2 23
3 98
期望的输出
. element
1 234 1
2 2
3 23 3
4 98 4
【问题讨论】:
-
为什么不只是
str_extract_all(unlist(mylist), "[0-9]+", simplify = TRUE)?附带说明一下,绝对不需要在矢量化函数上运行循环。 -
你完全正确@DavidArenburg,我应该首先注意到这一点。编辑了我的答案。