首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R: stringr r,用于查找行的起始位置

R: stringr r,用于查找行的起始位置
EN

Stack Overflow用户
提问于 2015-12-09 10:59:15
回答 1查看 449关注 0票数 1

我可以使用stringr在第一行找到开始的"http“位置,

代码语言:javascript
复制
library(stringr)

a <- str_locate(message[1,], "http")[1]
a 
[1] 38

我想找到每一行的起始位置,并使用"apply“函数:

代码语言:javascript
复制
message$location <- apply(message, 1, function(x) str_locate(message[x,], "http")[1]) 

但是它显示了所有的"NA“值,我能修复它吗?

EN

回答 1

Stack Overflow用户

发布于 2015-12-09 11:03:02

因为我们使用匿名函数调用(function(x)),所以可以使用每行的输入变量作为x,即str_locate(x, ...)

代码语言:javascript
复制
apply(message, 1, function(x) str_locate(x, "http")[1])
#[1] 11 16

或者不指定匿名函数

代码语言:javascript
复制
apply(message, 1, str_locate, pattern="http")[1,]
#[1] 11 16

正如@thelatemail提到的,如果我们只在第一列中寻找模式,我们不需要apply循环。

代码语言:javascript
复制
str_locate(message[,1], "http")[,1]
#[1] 11 16

数据

代码语言:javascript
复制
message <- data.frame(V1= c("Something http://www...", 
            "Something else http://www.."), v2= 1:2)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34170007

复制
相关文章

相似问题

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