我知道在R中使用grep
,如果要在开头找到某个字符串,可以使用^
,但如何将其与变量一起使用?
txt <- c("the cat ate the bill", "bill was late")
然后
grep("^bill", txt)
返回2
。
我想编写一个函数,它将变量字x
作为输入,并查找txt
中的一行是否以该字开头。
我的第一次尝试是:
extract_word<-function(x){
grep(^x, txt)
}
但是我收到了错误:
错误意外^ in: &#34; extract_word&lt; -function(x,txt){ 的grep(^
答案 0 :(得分:7)
pattern
的{{1}}参数只是一个字符串。如果您希望模式字符串的值为grep
,并且前面有x
,那么只需创建该字符串即可。 ^
可以很方便地将字符串粘在一起,没有空格:
paste0
使用您的示例:
grep(paste0("^", x), txt)