Создать строку динамического поиска в grep с метасимволами
Привет, я новичок в RI, мне нужна строка динамического поиска, чтобы пройти через некоторые массивы ячеек, ища совпадения, возвращающие подмножество ячеек, в которых есть совпадение.
{
> somecellarray[]
the to and a of i in is for that
798691 481789 413651 408492 342748 314606 277411 192607 192076 181179
}
Это прямое выражение работает, в этом случае в начале имени ячейки появляется "th", поэтому используйте поисковое выражение "^th".
{
somecellarray[grep("^th",names(somecellarray))]
returns
the that
798691 181179
}
Теперь я хочу запустить это в автоматическом цикле, где строка поиска может измениться, поэтому я создал этот тест.
{
searchstr <- "th"# just a test string
#Now I create a search expression using cat() from searchstr
searchexpr <- cat(c("\"^",searchstr,"\""),sep="") #....ie searchexpr="^th"
# then I use this with grep()
somecellarray[grep(searchexpr,names(somecellarray))]
Returns the following
named numeric(0)
Warning message:
In grep(somecellarray, names(somecellarray)) :
argument 'pattern' has length > 1 and only the first element will be used
}
Я не знаю, почему я получаю эту ошибку, Что мне не хватает?
Спасибо