一个data.frame数据dd2,dd2$V7是要匹配的文本,dd$V9是用于匹配的模式(形如"@12345678:张三|李四|王五|"),每行每行逐一匹配。因此原先的代码是:
<br />
temp = paste(str_extract_all(dd2$V7,str_sub(dd2$V9,11,-2)))<br />
测试的时候很好,但是处理数据时出现如下报错:
<br />
> temp = paste(str_extract_all(dd2$V7,str_sub(dd2$V9,11,-2)))<br />
错误于function (pattern, text, ignore.case = FALSE, perl = FALSE, fixed = FALSE, :<br />
'pattern'参数不对<br />
于是就有了下面的这一段for循环的代码,实在是感到惭愧得很,求助各位大神帮忙改进一下,提高运算速度。
<br />
temp = c()<br />
for (i in 1:length(dd2$V7)) {<br />
temp = c(temp,paste(str_extract_all(dd2$V7[i],str_sub(dd2$V9[i],11,-2))))<br />
}<br />
</p>