我可以使用stringr在第一行找到起始“http”位置
library(stringr)
a <- str_locate(message[1,], "http")[1]
a
[1] 38
我想找到每一行的起始位置,并使用“apply”功能:
message$location <- apply(message, 1, function(x) str_locate(message[x,], "http")[1])
但是它显示了所有“NA”值,我能解决它吗?
答案 0 :(得分:1)
由于我们使用的是匿名函数调用(function(x)
),我们可以将每行的输入变量用作x
,即str_locate(x, ...)
apply(message, 1, function(x) str_locate(x, "http")[1])
#[1] 11 16
或者没有指定匿名函数
apply(message, 1, str_locate, pattern="http")[1,]
#[1] 11 16
正如@thelatemail所提到的,如果我们只在第一列中寻找模式,我们就不需要apply
循环。
str_locate(message[,1], "http")[,1]
#[1] 11 16
message <- data.frame(V1= c("Something http://www...",
"Something else http://www.."), v2= 1:2)