Создать строку динамического поиска в 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
}

Я не знаю, почему я получаю эту ошибку, Что мне не хватает?

Спасибо

0 ответов

Другие вопросы по тегам